Untitled

 avatar
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...