Trường Cao Đẳng Bách Khoa Hưng Yên CĐ 5.2 - K3 - CNTT
Bài 1:Xây dựng lớp PHÂN SỐ gồm các phương thức nhập phân số,cộng trừ nhân
chia phân số.
Trên cơ sở lớp đã xây dựng viết chương trình thực hiện:
nhập 5 phân số q,p,z,u,v;
tính phân số s=(p-q*z)/(u+v)
Bài Làm
# include <iostream.h>
# include <conio.h>
# include <math.h>
class phanso
{
int tu,mau;
public:
void in();
void nhap();
friend phanso nhan(phanso p1,phanso p2);
friend phanso tru(phanso p1,phanso p2);
friend phanso cong(phanso p1,phanso p2);
friend phanso chia(phanso p1,phanso p2);
friend phanso rutgon(phanso p1);
friend int uscln(int x,int y);
};
int uscln(int x,int y)
{ int min;
x=abs(x);
y=abs(y);
if(x<y) min=x;
else min=y;
for(int i=min;i>=1;i--)
if(x%i==0&&y%i==0) break;
p.mau=p1.mau*p2.mau;
return rutgon(p);
}
phanso cong(phanso p1,phanso p2)
{
phanso p;
p.tu=p2.mau*p1.tu+p1.mau*p2.tu;
p.mau=p1.mau*p2.mau;
return rutgon(p);
}
phanso chia(phanso p1,phanso p2)
{ phanso p;
p.tu=p1.tu*p2.mau;
p.mau=p1.mau*p2.tu;
return p;
}
void main()
{clrscr();
phanso q,p,u,z,v,a,b,c,s;
cout<<"\n nhap phan so p:";
p.nhap();
cout<<"\n nhap phan so q:";
q.nhap();
cout<<"\n nhap phan so z:";
z.nhap();
cout<<"\n nhap phan so u:";
u.nhap();
cout<<"\n nhap phan so v:";
v.nhap();
a=cong(u,v);
double dodai(diem a);
};
void diem::nhap()
{
cout<<"\n nhap hoanh do:";cin>>x;
cout<<"\n nhap tung do:";cin>>y;
}
void diem::in()
{
cout<<"\n \t"<<x<<setw(5)<<y;
}
double diem::dodai(diem a)
{
return sqrt(pow(x-a.x,2)+pow(y-a.y,2));
}
void main()
{ clrscr();
int n;
diem *a=new diem[n+1];
cout<<"\n nhap vao so luong diem:";cin>>n;
for(int i=1;i<=n;i++)
{
- 3 -
Trường Cao Đẳng Bách Khoa Hưng Yên CĐ 5.2 - K3 - CNTT
cout<<"\n nhap vao toa do diem:"<<i;
a[i].nhap();
}
double max=a[1].dodai(a[2]);
int imax=1,jmax=2;
for(i=1;i<n;i++)
friend double dientich(diem d1,diem d2,diem d3);
friend double chuvi(diem d1,diem d2,diem d3);
};
void diem::nhap()
{
cout<<"\n nhap hoanh do:";cin>>x;
cout<<"\n nhap tung do:";cin>>y;
}
void diem::in()
{
- 4 -
Trường Cao Đẳng Bách Khoa Hưng Yên CĐ 5.2 - K3 - CNTT
cout<<"\n \t"<<x<<setw(5)<<y;
}
double diem::dodai(diem d)
{
return sqrt(pow(x-d.x,2)+pow(y-d.y,2));
}
double dientich(diem d1,diem d2,diem d3)
{
double a,b,c,p;
a=d1.dodai(d2);
b=d2.dodai(d3);
c=d3.dodai(d1);
p=(a+b+c)/2;
return sqrt(p*(p-a)*(p-b)*(p-c));
}
double chuvi(diem d1,diem d2,diem d3)
{
double a,b,c;
}
cout<<"\n tam giac co chu vi va dien tich lon nhat la:";
cout<<"\n dinh thu:"<<imax;
d[imax].in();
cout<<"\n dinh thu :"<<jmax;
d[jmax].in();
cout<<"\n dinh thu :"<<kmax;
d[kmax].in();
cout<<"\n voi dien tich:"<<dientich(d[imax],d[jmax],d[kmax]);
cout<<"\n voi chu vi la:"<<chuvi(d[imax],d[jmax],d[kmax]);
getch();
}
Bài 4: Tạo lớp điểm gồm các thuộc tính :hoành độ x,tung độ y;các phương thức bao
gồm :nhập toạ độ ,in toạ độ .
viết chương trình cho phép nhập toạ độ hai điểm A,B thuộc lớp điểm
a: Tính giá trị hàm số F(x,y)=3x+12y tại A,B.
b: Tính độ dài 0A và 0B (với 0 là gốc toạ độ mặt phẳng 0xy)
Bài làm :
# include <iostream.h>
# include <conio.h>
# include <math.h>
# include <iomanip.h>
class diem{
int x,y;
public:
void nhap() {
cout<<"\n nhap hoanh do="; cin>>x;
cout<<"\n nhap tung do=";cin>>y;
}
void in() {