Tải bản đầy đủ (.doc) (22 trang)

Lập trình hướng đối tượng C++

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (256 KB, 22 trang )

 Bài Báo Cáo Thực Hành Môn Học : Lập Trình Hướng Đối Tượng C++ 
Giáo viên hướng dẫn : Nguyễn Đức Hiển
Sinh viên thực hiện : Nguyễn Tiến Hoài Nam
Lớp : 06I
Câu 1:
 Ngành CNTT - Trường CĐ Công Nghệ Thông Tin  Page 1
 Bài Báo Cáo Thực Hành Môn Học : Lập Trình Hướng Đối Tượng C++ 
void swap(int *a,int *b)
{ int c;
c=*a;
*a=*b;
*b=c;
}
void main()
{
clrscr();
int a,b,i,j,n;
int d[50];
cout<<"\nso phan tu cua day la n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"nhap so d["<<i<<"]=";
cin>>d[i];
}
cout<<"day duoc sap sep tang dan :\n";
for(i=1;i<=n;i++)
for(j=i+1;j<n+1;j++)
if(d[i]>d[j])
swap(&d[i],&d[j]);
for(i=1;i<=n;i++)


{
cout<<d[i]<<"\t";
}
cout<<"\nday duoc sap sep giam dan :\n";
for(i=1;i<=n;i++)
for(j=i+1;j<n+1;j++)
if(d[i]<d[j])
swap(&d[i],&d[j]);
for(i=1;i<=n;i++)
{
cout<<d[i]<<"\t";
}
getch();
}
Câu 2:
struct PhanSo
{
int TuSo;
int MauSo; };
PhanSo operator + (PhanSo a ,PhanSo b);
PhanSo operator - (PhanSo a ,PhanSo b);
 Ngành CNTT - Trường CĐ Công Nghệ Thông Tin  Page 2
 Bài Báo Cáo Thực Hành Môn Học : Lập Trình Hướng Đối Tượng C++ 
PhanSo operator * (PhanSo a ,PhanSo b);
PhanSo operator / (PhanSo a ,PhanSo b);
int operator > (PhanSo a ,PhanSo b);
int operator >=(PhanSo a ,PhanSo b);
int operator < (PhanSo a ,PhanSo b);
int operator <=(PhanSo a ,PhanSo b);
int operator ==(PhanSo a ,PhanSo b);

int operator !=(PhanSo a ,PhanSo b);
PhanSo RutGonPS (PhanSo a);
}
void main()
{
clrscr();
PhanSo a,b,c;
cout<<"Tu So a="; cin>>a.TuSo;
cout<<"MauSo a="; cin>>a.MauSo;
cout<<"Tu So b="; cin>>b.TuSo;
cout<<"MauSo b="; cin>>b.MauSo;
cout<<"\na="<<a.TuSo<<"/"<<a.MauSo;
cout<<"\nb="<<b.TuSo<<"/"<<b.MauSo;
c=a+b;
c=RutGonPS(c);
cout<<"\na+b="<<c.TuSo <<"/"<<c.MauSo;
c=a-b;
c=RutGonPS(c);
cout<<"\na-b="<<c.TuSo <<"/"<<c.MauSo;
c=a*b;
c=RutGonPS(c);
cout<<"\na*b="<<c.TuSo <<"/"<<c.MauSo;
c=a/b;
c=RutGonPS(c);
cout<<"\na/b="<<c.TuSo <<"/"<<c.MauSo;
if (a==b)
cout<<"\nPS a bang PS b";
else cout<<"\nPS b khac PS a";
if (a!=b)
cout<<"\nPS a khac PS b";

else cout<<"\nPS b bang PS a";
if (a>b)
cout<<"\nPS a lon hon PS b";
else if(b>a)
 Ngành CNTT - Trường CĐ Công Nghệ Thông Tin  Page 3
 Bài Báo Cáo Thực Hành Môn Học : Lập Trình Hướng Đối Tượng C++ 
cout<<"\nPS b lon hon PS a";
else cout<<"\na=b";
if (a>=b)
cout<<"\nPS a lon hon hoac bang PS b";
else cout<<"\nPS b lon hon hoac bang PS a";
if (a<b)
cout<<"\nPS a be hon PS b";
else if (b<a)
cout<<"\nPS b be hon PS a";
else cout<<"\nb=a";
if (a<=b)
cout<<"\nPS a be hon hoac bang PS b";
else cout<<"\nPS b be hon hoac bang PS a";
getch();
}
// Dinh Nghia Cac Ham
PhanSo operator + (PhanSo a ,PhanSo b)
{
PhanSo c;
c.TuSo=a.TuSo*b.MauSo+a.MauSo*b.TuSo;
c.MauSo=a.MauSo*b.MauSo;
return c;
}
PhanSo operator - (PhanSo a ,PhanSo b)

{
PhanSo c;
c.TuSo=a.TuSo*b.MauSo-a.MauSo*b.TuSo;
c.MauSo=a.MauSo*b.MauSo;
return c;
}
PhanSo operator * (PhanSo a ,PhanSo b)
{
PhanSo c;
c.TuSo=a.TuSo*b.TuSo;
c.MauSo=a.MauSo*b.MauSo;
return c;
}
PhanSo operator / (PhanSo a ,PhanSo b)
{
PhanSo c;
 Ngành CNTT - Trường CĐ Công Nghệ Thông Tin  Page 4
 Bài Báo Cáo Thực Hành Môn Học : Lập Trình Hướng Đối Tượng C++ 
c.TuSo=a.TuSo*b.MauSo;
c.MauSo=a.MauSo*b.TuSo;
return c;
}
int operator > (PhanSo a ,PhanSo b)
{
if(a.TuSo*b.MauSo>b.TuSo*a.MauSo)
return 1;
else
return 0;
}
int operator >= (PhanSo a ,PhanSo b)

{
if(a.TuSo*b.MauSo>=b.TuSo*a.MauSo)
return 1;
else
return 0;
}
int operator < (PhanSo a ,PhanSo b)
{
if(a.TuSo*b.MauSo<b.TuSo*a.MauSo)
return 1;
else
return 0;
}
int operator <= (PhanSo a ,PhanSo b)
{
if(a.TuSo*b.MauSo<=b.TuSo*a.MauSo)
return 1;
else
return 0;
}
int operator == (PhanSo a ,PhanSo b)
{
if(a.TuSo*b.MauSo==b.TuSo*a.MauSo)
return 1;
else
return 0;
}
int operator != (PhanSo a ,PhanSo b)
{
if(a.TuSo*b.MauSo!=b.TuSo*a.MauSo)

 Ngành CNTT - Trường CĐ Công Nghệ Thông Tin  Page 5
 Bài Báo Cáo Thực Hành Môn Học : Lập Trình Hướng Đối Tượng C++ 
return 1;
else
return 0;
}
PhanSo RutGonPS (PhanSo a)
{
int UCLN;
int n=abs(a.TuSo),m=abs(a.MauSo);
while (n != 0 && m != 0)
if (n>m)
n -= m;
else
m -= n;
if (n != 0)
UCLN= n;
else
UCLN= m;
a.TuSo=a.TuSo/UCLN;
a.MauSo=a.MauSo/UCLN;
return a;
}
Câu 3:
struct sophuc
{
double thuc;
double ao;
};
sophuc lapsophuc()

{
int x,y;
sophuc tam;
cout<<"\nthuc:"<<endl;
cin>>x;
tam.thuc=x;
cout<<"\nao:"<<endl;
cin>>y;
tam.ao=y;
return tam;
}
void display(sophuc a)
{
cout<<"("<<a.thuc<<","<<a.ao<<")"<<endl;
}
sophuc operator + (sophuc a,sophuc b)
{
 Ngành CNTT - Trường CĐ Công Nghệ Thông Tin  Page 6
 Bài Báo Cáo Thực Hành Môn Học : Lập Trình Hướng Đối Tượng C++ 
sophuc tam;
tam.thuc=a.thuc+b.thuc;
tam.ao=a.ao+b.ao;
return tam;
}
sophuc operator - (sophuc a,sophuc b)
{
sophuc tam;
tam.thuc=a.thuc-b.thuc;
tam.ao=a.ao-b.ao;
return tam;

}
sophuc operator * (sophuc a,sophuc b)
{
sophuc tam;
tam.thuc= (a.thuc*b.thuc)-(a.ao*b.ao);
tam.ao= (a.thuc*b.ao)+(b.thuc*a.ao);
return tam;
}
sophuc operator / (sophuc a,sophuc b)
{
sophuc tam;
if((b.thuc!=0.0)&&(b.ao!=0.0))
{ tam.thuc= ((a.thuc*b.thuc)+(a.ao*b.ao))/((b.thuc*b.thuc)+
(b.ao*b.ao));
tam.ao= ((b.thuc*a.ao)-(a.thuc*b.ao))/((b.thuc*b.thuc)+(b.ao*b.ao));
}
return tam;
}
int operator == (sophuc a,sophuc b)
{
return ((a.thuc==b.thuc)&&(a.ao==b.ao));
}
int operator != (sophuc a,sophuc b)
{
return ((a.thuc!=b.thuc)||(a.ao!=b.ao));
}
void main()
{
clrscr();
sophuc x,y,z,t,s,r;

cout<<"\nso phuc x:";
x=lapsophuc();
cout<<"\nx";
 Ngành CNTT - Trường CĐ Công Nghệ Thông Tin  Page 7
 Bài Báo Cáo Thực Hành Môn Học : Lập Trình Hướng Đối Tượng C++ 
display(x);
cout<<"\nso phuc y:";
y=lapsophuc();
cout<<"\ny";
display(y);
z=x+y;
cout<<"\ncong hai so phuc:";
display(z);
t=x-y;
cout<<"\nhieu hai so phuc:";
display(t);
s=x*y;
cout<<"\ntich hai so phuc:";
display(s);
r=x/y;
cout<<"\nthuong hai so phuc:";
display(r);
if(x==y)
{ cout<<"\nhai so phuc bang nhau";}
else
{ cout<< "\nhai so phuc khong bang nhau"; }
if(x!=y)
{ cout<<"\nhai so phuc khac nhau";}
else
{ cout<<"\nhai so phuc khong khac nhau";}

getch();
}
Câu 4:
class sinhvien
{
public:
char *ten;
float toan , ly ,hoa ,dtb;
void nhap();
void xuat();
friend void hoanvi(float *a,float *b);
};
void sinhvien::nhap()
{
cout<<"vui long nhap cac thong tin sau :\n";
cout<<"ten sinh vien :";
cin>>ten;
cout<<"\ndiem toan :";
cin>>toan;
 Ngành CNTT - Trường CĐ Công Nghệ Thông Tin  Page 8

×