Untitled
unknown
plain_text
4 years ago
2.8 kB
10
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...