-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path5.cpp
97 lines (95 loc) · 2.06 KB
/
5.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include<iostream>
using namespace std;
class SP{
public:
char *ten = new char[50];
char *ID = new char [10];
float thanhTien;
SP(char *ten,char *ID,float donGia,int soLuong){
this->ten = ten;
this->ID = ID;
this->soLuong = soLuong;
this->donGia = donGia;
}
SP(){};
~SP(){
delete[] ten;
delete[] ID;
soLuong = 0;
donGia = 0.0;
thanhTien = 0.0;
}
void Nhap(){
cout<<"TenSP : ";
cin.getline(ten,50);
cout<<"ID";
cin.getline(ID,10);
cout<<"So luong: ";
cin>>soLuong;
cout<<"Don gia: "
cin>>donGia;
}
void Xuat(){
cout<<ten<<endl;
cout<<ID<<endl;
cout<<soLuong<<endl;
cout<<tinhThanhTien()<<endl;
}
private:
float donGia;
int soLuong;
float tinhThanhTien(){
thanhTien = donGia*soLuong;
return thanhTien;
}
};
class HoaDon{
private:
char *tenKhachHang = new char[50];
char *diaChi = new char[100];
float tongTien(){
//cai soSanPham bi buoi
for(int i=0;i<soSanPham;i++){
tongtien += sanPham[i].thanhTien;
}
return tongtien;
}
public:
static int soSanPham;
float tongtien;
SP *sanPham = new SP[2];
HoaDon(char* tenKhachhang,char* diaChi,SP *sanPham){
this->tenKhachHang = tenKhachHang;
this->diaChi = diaChi;
this->sanPham = sanPham;
};
HoaDon(){};
~HoaDon(){
delete[] tenKhachHang;
delete[] diaChi;
delete[] sanPham;
tongtien = 0.0;
}
void Nhap(){
cout<<"TenKH :";
cin.getline(tenKhachHang,50);
cout<<"Dia chi:";
cin.getline(diaChi,100);
//doan ni lam tam bay
for(int i=0;i<soSanPham;i++){
sanPham[i].Nhap();
}
}
void Xuat(){
cout<<tenKhachHang;
cout<<diaChi;
cout<<tongTien();
}
};
int main(int argc, char const *argv[])
{
HoaDon hd;
hd.Nhap();
hd.Xuat();
return 0;
}