BT Về Lập trình hướng đối tượng (Mở đầu)
6. Xây dựng lớp hóa đơn gồm các thành phần:
-DL: mã vật tư, tên vật tư, loại phiếu, ngày lập, khối lượng, đơn giá, thành tiền
-Pt: nhập, in, kiểm tra phiếu nhập hay xuất
Hàm main:
-Nhập danh sách hóa đơn
-Tính thành tiền cho các hóa đơn và in tổng thành tiền
-In danh sách sau khi xếp theo số tiền giảm dần
Code:
#include <iostream.h>
#include <conio.h>
class date
{
public:
int ngay;
int thang;
int nam;
};
class HD
{
private:
int ma;
char *ten;
char *loai;
date nn;
float kl;
float dg;
public:
HD()
{
ten = new char[30];
loai = new char[10];
ma = 0;
nn.ngay = 0;
nn.thang =0;
nn.nam=0;
kl = 0;
dg = 0;
}
~HD()
{
delete ten;
delete loai;
}
float tt()
{
return kl*dg;
}
friend istream& operator>>(istream& is,HD &x)
{
cout<<"nhap ma sp: ";is>>x.ma;
is.ignore();
cout<<"Ten : ";is.getline(x.ten,30);
cout<<"loai : ";is.getline(x.loai,10);
cout<<"Ngay lap :"; is>>x.nn.ngay>>x.nn.thang>>x.nn.nam;
cout<<"khoi luong: ";is>>x.kl;
cout<<"don gia: ";is>>x.dg;
return is;
}
friend ostream& operator<<(ostream& os,HD &x)
{
os<<x.ma<<"\t"<<x.ten<<"\t"<<x.loai<<"\t"<<x.nn.ngay<<"/"<<x.nn.thang<<"/"<<x.nn.nam<<"\t"<<x.kl<<"\t"<<x.dg<<"\t"<<x.tt();
return os;
}
};
void main()
{
int n;
HD temp;
HD *p;
cout<<"Nhap so sp : ";cin>>n;
p = new HD[n+1];
for (int i=1;i<=n;i++)
{
cout<<"Nhap sp thu "<<i<<": \n";
cout<<"Nhap sp thu "<<i<<": \n";
cin>>p[i];
p[i].tt();
}
for (i=1;i<n;i++)
for (int j=i+1;j<=n;j++)
if (p[j].tt()>p[i].tt())
{
temp = p[j];
p[j]=p[i];
p[i]=temp;
}
cout<<"======================Hoa Don Thanh toan====================\n";
for (int j=1;j<=n;j++)
{
cout<<p[j];
cout<<"\n";
}
}
0 Response to "BT Về Lập trình hướng đối tượng (Mở đầu)"
Đăng nhận xét