Untitled
unknown
plain_text
4 years ago
2.8 kB
6
Indexable
#include<iostream> #include<string> #include<stdio.h> using namespace std; int mkh = 1, mmh = 1, mhd = 1; class inFor1 { public: string tenKhachHang, maKhachHang , diaChi; }; inFor1 ds1[1000]; class inFor2 { public: string tenMatHang,maMatHang, donViTinh; int giaMua , giaBan; }; inFor2 ds2[1000]; class KhachHang { public: string maKhachHang; string tenKhachHang; string gioiTinh; string ngaySinh; string diaChi; }; class MatHang { public: string maMatHang; string tenMatHang; string donViTinh; int giaMua; int giaBan; }; class HoaDon { public: string maHoaDon; string maKhachHang; string maMatHang; int soLuong; }; istream& operator >> (istream &is, KhachHang &a) { if(mkh == 1) scanf("\n"); if(mkh <= 9) { a.maKhachHang = "KH00"+to_string(mkh); } else if(10<= mkh && mkh <= 99) { a.maKhachHang = "KH0"+to_string(mkh); } else { a.maKhachHang = "KH"+to_string(mkh); } getline(is, a.tenKhachHang); is>>a.gioiTinh>>a.ngaySinh; scanf("\n"); getline(is, a.diaChi); ds1[mkh].tenKhachHang = a.tenKhachHang; ds1[mkh].maKhachHang = a.maKhachHang; ds1[mkh].diaChi = a.diaChi; mkh++; return is; } istream& operator >> (istream &is , MatHang &a) { scanf("\n"); if(mmh <= 9) { a.maMatHang = "MH00" + to_string(mmh); } else if(10<= mmh && mmh <= 99) { a.maMatHang = "MH0" + to_string(mmh); } else { a.maMatHang = "MH" + to_string(mmh); } getline(is, a.tenMatHang); is>>a.donViTinh>>a.giaMua>>a.giaBan; ds2[mmh].maMatHang = a.maMatHang; ds2[mmh].tenMatHang = a.tenMatHang; ds2[mmh].donViTinh = a.donViTinh; ds2[mmh].giaBan = a.giaBan; ds2[mmh].giaMua = a.giaMua; mmh++; return is; } istream& operator >> (istream & is , HoaDon &a) { if(mhd <= 9) { a.maHoaDon = "HD00" + to_string(mhd); } else if(10 <= mhd && mhd <= 99) { a.maHoaDon = "HD0" + to_string(mhd); }else { a.maHoaDon = "HD" + to_string(mhd); } mhd++; is>>a.maKhachHang>>a.maMatHang>>a.soLuong; return is; } ostream& operator << (ostream &os , HoaDon a) { cout<<a.maHoaDon<<" "; for(int i = 0 ; i < mkh ;i++) { if(a.maKhachHang == ds1[i].maKhachHang) { os<<ds1[i].tenKhachHang<<" "<<ds1[i].diaChi<<" "; break; } } for(int i = 0 ; i < mmh ; i++) { if(a.maMatHang == ds2[i].maMatHang) { os<<ds2[i].tenMatHang<<" "<<ds2[i].donViTinh<<" "<<" "<<ds2[i].giaMua<<" "<<ds2[i].giaBan<<" "<<a.soLuong<<" "<<a.soLuong*ds2[i].giaBan<<endl; break; } } return os; } int main(){ KhachHang dskh[25]; MatHang dsmh[45]; HoaDon dshd[105]; int N,M,K,i; cin >> N; for(i=0;i<N;i++) cin >> dskh[i]; cin >> M; for(i=0;i<M;i++) cin >> dsmh[i]; cin >> K; for(i=0;i<K;i++) cin >> dshd[i]; for(i=0;i<K;i++) cout << dshd[i]; return 0; }
Editor is loading...