Một số bài tập C++
Bai1: Chương trình tính chu vi và diện tích các hình (sử dụng kế thừa)
//Chuong trinh tinh chu vi va dien tich cac hinh
#include<iostream.h>
#include<math.h>
#define pi 3.14
class hinh
{
public:
virtual void nhap()=0;
virtual void hien()=0;
};
class tamgiac:public hinh
{
private:
float a,b,c,cv,p;
double dt;
public:
void nhap();
void hien();
};
class chunhat:public hinh
{
private:
float a,b,cv,dt;
public:
void nhap();
void hien();
};
class hinhtron:public hinh
{
private:
float r;
double cv,dt;
public:
void nhap();
void hien();
};
//--------------------Dinh nghia ham
void tamgiac::nhap()
{
cout<<" Nhap vao cac canh cua tam giac: "<<endl;
cin>>a;
cin>>b;
cin>>c;
}
void tamgiac::hien()
{
cout<<"
Kich thuoc cac canh cua tam giac: ";
cout<<a<<""<<b<<""<<c;
cv=(a+b+c);
p=cv/2;
dt=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<"
Chu vi tam giac: "<<cv;
cout<<"
Dien tich tam giac: "<<dt;
}
//------------------------
void chunhat::nhap()
{
cout<<" Nhap vao cac canh cua chu nhat: ";
cin>>a>>b;
}
void chunhat::hien()
{
cout<<" Kich thuoc cac canh chu nhat: ";
cout<<a<<""<<b;
cv=(a+b)*2;
dt=a*b;
cout<<" Chu vi chu nhat: "<<cv;
cout<<" Dien tich chu nhat: "<<dt;
}
//-----------------------
void hinhtron::nhap()
{
cout<<" Nhap vao ban kinh hinh tron: ";
cin>>r;
}
void hinhtron::hien()
{
cout<<" Kich thuoc ban kinh: ";
cout<<r;
cv=2*pi*r;
dt=pi*r*r;
cout<<" Chu vi hinh tron: "<<cv;
cout<<" Dien tich hinh tron: "<<dt;
}
//----------------------cHuong trih chinh
void main()
{
Return 0;
}
Bai2: Chương trình QLNS (sử dụng kế thừa,hàm ảo)
//Chuong trinh quan ly nhan su
#include<iostream.h>
#include<string.h>
class nhansu
{
private:
char hoten[40];
char maso[10];
public:
virtual void nhap()=0;
virtual void hien();
};
void nhansu::nhap()
{
cout<<"Nhap vao ho va ten: ";
cin.ignore();
cin.get(hoten,40);
cout<<"Nhap vao ma so: ";
cin>>maso;
}
void nhansu::hien()
{
cout<<"Ho va ten: "<<hoten<<'
';
cout<<"Ma so: "<<maso<<'
';
}
//Dinh nghia cac lop dan xuat
class gv:public nhansu
{
private:
char hhhv[20];
public:
void nhap();
void hien();
};
//-----------------
class cbql:public nhansu
{
private:
char chucvu[20];
public:
void nhap();
void hien();
};
//-----------------
class nv:public nhansu
{
public:
void nhap();
void hien();
};
//------------------dinh nghia ham
void gv::nhap()
{
nhansu::nhap();
cout<<"Nhap vao hoc ham hoc vi: ";
cin.ignore();
cin.get(hhhv,20);
}
void gv::hien()
{
nhansu::hien();
cout<<"Hoc ham hoc vi: "<<hhhv<<'
';
}
void cbql::nhap()
{
nhansu::nhap();
cout<<"Nhap vao chuc vu: ";
cin.ignore();
cin.get(chucvu,20);
}
void cbql::hien()
{
nhansu::hien();
cout<<"Chuc vu: "<<chucvu<<'
';
}
void nv::nhap()
{
nhansu::nhap();
}
void nv::hien()
{
nhansu::hien();
}
void main()
{
Return 0;
}
Bai 3: Chương trình tính tổng,hiệu,tích,thương 2 phân số (hàm chồng toán tử)
//Chuong trinh tinh tong, hieu, tich, thuong 2 phan so
#include<iostream.h>
#include<math.h>
class phanso
{
private:
int tu,mau;
public:
void nhap();
void hien();
phanso operator+(const phanso&ps);
phanso operator-(const phanso&ps);
phanso operator*(const phanso&ps);
phanso operator/(const phanso&ps);
};
void phanso::nhap()
{
char kt;
cout<<"Nhap vao phan so dang 3/4: ";
cin>>tu>>kt>>mau;
}
void phanso::hien()
{
cout<<tu<<"/"<<mau;
}
//-----------------
phanso phanso:: operator+(const phanso&ps)
{
phanso tmp;
tmp.tu=tu*ps.mau+mau*ps.tu;
tmp.mau=mau*ps.mau;
return tmp;
}
phanso phanso ::operator-(const phanso&ps)
{
phanso tmp;
tmp.tu=tu*ps.mau-mau*ps.tu;
tmp.mau=mau*ps.mau;
return tmp;
}
phanso phanso ::operator*(const phanso&ps)
{
phanso tmp;
tmp.tu=tu*ps.tu;
tmp.mau=mau*ps.mau;
return tmp;
}
phanso phanso ::operator/(const phanso&ps)
{
phanso tmp;
tmp.tu=tu*ps.mau;
tmp.mau=mau*ps.tu;
return tmp;
}
//---------------------------
void main()
{
phanso ps1,ps2,tong,hieu,tich,thuong;
cout<<"Phan so 1: ";ps1.nhap();
cout<<"Phan so 2: ";ps2.nhap();
tong=ps1+ps2;
cout<<"Tong cua 2 phan so la: ";tong.hien();
cout<<"
";
hieu=ps1-ps2;
cout<<"Hieu cua 2 pahn so la: ";hieu.hien();
tich=ps1*ps2;
cout<<"Tich cua 2 phan so la: ";tich.hien();
thuong=ps1/ps2;
cout<<"Thuong cua 2 phan so la: ";thuong.hien();
}
Bai 4: Tính tổng 2 số nhị phân (chồng toán tử)
// Tong 2 so nhi phan
#include<iostream.h>
#include<string.h>
class sonhiphan
{
private:
char s[16];
int dec;
public:
void nhap();
void hien();
sonhiphan operator+(const sonhiphan& b);
};
//*****Dinh nghia ham thanh vien*****
void sonhiphan::nhap()
{
cout<<"Nhap vao so nhi phan:";
cin>>s;
int n=strlen(s);
dec=0;
for(int i=0;i<n;i++)
dec=dec*2+(s[i]-48);
}
void sonhiphan::hien()
{
int x=dec;
char s1[16]="";
char bit[2]={'0','\0'};
do
{
bit[0]=x%2+48;
strcat(s1,bit);
x=x/2;
}while(x!=0);
strrev(s1);
cout<<s1<<" "<<"("<<dec<<")";
}
sonhiphan sonhiphan::operator +(const sonhiphan& b)
{
sonhiphan tg;
tg.dec=dec+b.dec;
return tg;
}
//******chuong trinh chinh*********
int main(int argc, char* argv[])
{
sonhiphan b1,b2,b3;
b1.nhap();
b2.nhap();
b3=b1+b2;
cout<<"Tong cua hai so nhi phan la:";
b3.hien();
cout<<'
';
return 0;
}
Bai08: Nhập ma trận vuông cấp n. tính tổng và tbc của các phần tử trên đường chếo chính
//Bai 8: Nhap ma tran vuong cap n. Tinh tong va trung binh cong cua
//cac phan tu tren duong cheo chinh
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int m,n,a[10][10],i,j;
cout<<"
Nhap so hang va so cot cua ma tran: ";cin>>n>>n;
cout<<"
Moi ban nhap tung phan tu cua ma tran ";
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
cout<<"
a["<<i<<","<<j<<"]= ";
cin>>a[i][j];
}
cout<<"
Ma tran sau khi nhap la: "<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)cout<<a[i][j]<<"";
cout<<"
";
}
int tong=0;double tbc;
cout<<"Tinh toan theo yeu cau...";
for(i=1;i<=n;i++)
{
tong=tong+a[i][i];
tbc=tong/n;
}
cout<<"
Tong cac phan tu tren duong cheo chinh la: "<<tong;
cout<<"
Trung binh cong cac phan tu tren duong cheo chinh la: "<<tbc;
cout<<"
Ma tran cac phan tu tren duong cheo chinh la: ";
cout<<"
";
for(i=1;i<=n;i++)
{
for(j=n;j>=i;j--)cout<<a[i][j]<<"";
cout<<"
";
}
return 0;
}
Bạn đang đọc truyện trên: Truyen2U.Com