mình đang cần 1 số tài liệu về xuất nhập dữ liệu từ file với lập trình hướng đối tượng bằng C++
với lại vẽ đường thẳng và đường tròn trong C++
code cua mình:
#include<iostream.h>
#include<math.h>
class Diem{
private:
float x;
float y;
public:
Diem(); //ham xay dung khong doi so
Diem(float , float ); //ham xay dung co doi so
void Nhap(); //ham nhap toa do cua mot diem
void In(); //in Diem vua nhap ra man hinh
float GiaTriX(); //tra ve gia tri x
float GiaTriY(); //tra ve gia tri y
float DoDai(Diem m); //lay khoang cach cua hai diem
Diem TrungDiem(Diem n); //Trung diem cua doan thang
//void PTDuongThang(Diem m); //Phuong trinh duong thang
Diem VTCP(Diem m); //VTCP cua duong thang
};
Diem::Diem(){
x=y=0;
}
Diem::Diem(float h, float t){
x=h;
y=t;
}
void Diem::Nhap(){
cout<<"Nhap x= ";cin>>x;
cout<<"Nhap y= ";cin>>y;
}
void Diem::In(){
cout<<"("<<x<<";"<<y<<")"<<endl;
}
float Diem::GiaTriX(){
return x;
}
float Diem::GiaTriY(){
return y;
}
float Diem::DoDai(Diem m){
return sqrt( ((x-m.GiaTriX())*(x-m.GiaTriX())) + ((y-m.GiaTriY())*(y-m.GiaTriY())) );
}
Diem Diem::TrungDiem(Diem q){
float dx = (x+q.GiaTriX())/2;
float dy = (y+q.GiaTriY())/2;
return Diem (dx, dy);
}
Diem Diem::VTCP(Diem g){
float xn = g.GiaTriX()-x;
float yn = g.GiaTriY()-y;
return Diem(xn, yn);
}
//void Diem::PTDuongThang(){
// }
int main(){
cout<<"\t\t****************************************************\n\n";
cout<<"\t\t\tNHAP TOA DO CAC DINH CUA TAM GIAC\n\n";
Diem A;
A.Nhap();
cout<<"\tDiem A=";
A.In();
//cout<<"Gia tri y= "<<A.GiaTriY()<<endl;
Diem B;
B.Nhap();
cout<<"\tDiem B= ";
B.In();
Diem C;
C.Nhap();
cout<<"\tDiem C= ";
C.In();
/*cout<<"\t\t***PHAN DUNG DE VE DUONG TRON***\n\n";
Diem D = A.TrungDiem(B); //trung diem cua AB
cout<<"Trung diem cua AB la D= ";
D.In();
Diem E = A.TrungDiem(C); //trung diem cua AC
cout<<"Trung diem cua AC la E= ";
E.In();
Diem F = B.TrungDiem(C); //trung diem cua BC
cout<<"Trung diem cua BC la F= ";
F.In();
//Phuong trinh duong thang(phuong trinh duong trung tuyen AF qua diem A)
cout<<"\t\tPHUONG TRINH DUONG THANG\n";
Diem K = A.VTCP(F); //VTCP cua duong thang AF
cout<<"VTCP nAF = ";
K.In();
cout<<"Phuong trinh duong thang AD\n";
cout<<K.GiaTriX()<<"x"<<" + "<<K.GiaTriY()<<"y "<<" + "<<"("<<-(K.GiaTriX()*A.GiaTriX()+K.GiaTriY()*A.GiaTriY())<<")"<<" = 0"<<endl;
//Phuong trinh duong thang(phuong trinh duong trung tuyen BE qua diem B)
Diem V = B.VTCP(E);
cout<<"VTCP nBE = ";
V.In();
cout<<"Phuong trinh duong thang BE\n";
cout<<V.GiaTriX()<<"x"<<" + "<<V.GiaTriY()<<"y "<<" + "<<"("<<-(V.GiaTriX()*B.GiaTriX()+V.GiaTriY()*B.GiaTriY())<<")"<<" = 0"<<endl;
//cout<<"Diem D = "<<Diem D;*/
float d1=A.DoDai(B); //d1 la do dai doan thang AB
cout<<"Do dai cua doan thang AB: "<<d1<<endl<<endl;
float d2=B.DoDai(C); //d2 la do dai doan thang BC
cout<<"Do dai cua doan thang BC: "<<d2<<endl<<endl;
float d3=A.DoDai(C); //d3 la do dai doan thang AC
cout<<"Do dai cua doan thang AC: "<<d3<<endl<<endl;
if( ((d1+d2)>d3) && ((d1+d3)>d2) && ((d2+d3>d1)) ){
cout<<"\t\t****************************************************\n\n";
cout<<"Ba diem vua nhap tao thanh tam giac\n\n";
cout<<"\t\t****************************************************\n\n";
float S; // S la dien tich tam giac
float P=(d1+d2+d3)/2;; //P la nua chu vi cua tam giac
cout<<"Nua chu vi cua tam giac: "<<P<<endl<<endl;
// printf("Nua chu vi cua tam giac: %.2f", &P);
S=sqrt(P*(P-d1)*(P-d2)*(P-d3));
cout<<"Dien tich cua tam giac: "<<S<<endl<<endl;
float R=(d1*d2*d3)/(4*S);
cout<<"Ban kinh duong tron ngoai tiep tam giac ABC: "<<R<<endl<<endl;
float CV=2*3.14*R; //CV chu vi cua duong tron
cout<<"\t\tKET QUA\n\n";
cout<<"Chu vi duong tron: "<<CV<<endl<<endl;
cout<<"\t\tKET THUC\n\n";
}
else{
cout<<"\t\t****************************************************\n\n";
cout<<"Ba diem vua nhap khong tao thanh tam giac\n\n";
cout<<"\t\tKET THUC\n\n";
cout<<"\t\t****************************************************\n\n";
}
system("pause");
}