#include <iostream> |
#include <math.h> |
#include <conio.h> |
using namespace std; |
class akar{ |
friend ostream& operator<<(ostream&, akar&); |
friend istream& operator>>(istream&, akar&); |
public: |
akar(); |
int disk(){ return B*B-4*A*C;} |
float akar1(){ return(-B+sqrt(disk()))/(2*A);} |
float akar2(){ return(-B-sqrt(disk()))/(2*A);} |
void hitung_akar(); |
void cetak_disk(){cout<<"DISKRIMINAN = "<<disk()<<endl;} |
void cetak_akar(){ |
cout<<"x1="<<akar1()<<endl; |
cout<<"x2="<<akar2()<<endl; |
} |
private: |
int A,B,C; |
float x1,x2; |
}; |
ostream& operator<<(ostream& out,akar& keluaran){ |
keluaran.cetak_disk(); |
if(keluaran.disk()>=0)keluaran.cetak_akar(); |
else out<<"AKAR IMAJINER \n"; |
return out; |
} |
istream& operator>>(istream& in,akar& masukan){ |
cout<<"KOEFISIEN PANGKAT 2 = ";in>>masukan.A; |
cout<<"KOEFISIEN PANGKAT 1 = ";in>>masukan.B; |
cout<<"KOEFISIEN PANGKAT 0 = ";in>>masukan.C; |
return in; |
} |
akar::akar(){ |
cout<<"MENGHITUNG AKARA PERSAMAAN KUADRAT \n"; |
} |
void akar::hitung_akar(){ |
if(A==0){ |
cout<<"BUKAN PERSAMAAN KUADRAT \n"; |
cout<<"HARGA AKAR = "<<-C/B;} else{ |
if(disk()>0){ |
x1=akar1(); |
x2=akar2(); |
} else if(disk()==0){ |
x1=akar1(); |
x2=x1; |
} |
} |
} |
int main(){ |
akar masalah; |
cin>>masalah; |
masalah.hitung_akar(); |
cout<<masalah; |
system("PAUSE"); |
return EXIT_SUCCESS; |
} |
Selasa, 29 Maret 2011
AKAR PERSAMAAN KUADRAT
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar