Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<string>
- #include<cmath>
- using namespace std;
- struct NSX
- {
- int Ngay, Thang, Nam;
- };
- class PTGT
- {
- private:
- string Hangsanxuat, Mauxe;
- NSX Ngaysanxuat;
- int Giatien;
- public:
- PTGT(string hangsanxuat = "", string mau = "", NSX ngaysanxuat = { 0,0,0 }, int gia = 0);
- void SetHang(string);
- string GetHang();
- void SetMau(string);
- string GetMau();
- void SetNgaySanXuat(NSX);
- void GetNgaySanXuat();
- void SetGia(int);
- int GetGia();
- };
- PTGT::PTGT(string hangsanxuat , string mau ,NSX ngaysanxuat, int gia )
- {
- Hangsanxuat = hangsanxuat;
- Mauxe = mau;
- Ngaysanxuat.Ngay = ngaysanxuat.Ngay;
- Ngaysanxuat.Thang =ngaysanxuat.Thang;
- Ngaysanxuat.Nam = ngaysanxuat.Nam;
- Giatien = gia;
- }
- void PTGT::SetHang(string hang)
- {
- Hangsanxuat = hang;
- }
- string PTGT::GetHang()
- {
- return Hangsanxuat;
- }
- void PTGT::SetMau(string mau)
- {
- Mauxe = mau;
- }
- string PTGT::GetMau()
- {
- return Mauxe;
- }
- void PTGT::SetNgaySanXuat(NSX ngaysanxuat)
- {
- //cout << "Ngay "; cin >> ngaysanxuat.Ngay;
- Ngaysanxuat.Ngay = ngaysanxuat.Ngay;
- //cout << " Thang "; cin >> ngaysanxuat.Thang;
- Ngaysanxuat.Thang = ngaysanxuat.Thang;
- //cout << " Nam "; cin >> ngaysanxuat.Nam;
- Ngaysanxuat.Nam = ngaysanxuat.Nam;
- }
- void PTGT::GetNgaySanXuat()
- {
- cout << Ngaysanxuat.Ngay << "/" << Ngaysanxuat.Thang << "/" << Ngaysanxuat.Nam << ".";
- }
- void PTGT::SetGia(int gia)
- {
- Giatien = gia;
- }
- int PTGT::GetGia()
- {
- return Giatien;
- }
- class Oto :public PTGT
- {
- private:
- int Sochongoi;
- public:
- Oto(string hangsanxuat = "", string mau = "", NSX ngaysanxuat = { 0,0,0 }, int gia = 0, int socho = 0);
- void SetSoCho(int);
- int GetSoCho();
- void Nhap(string hangsanxuat, string mau, NSX ngaysanxuat, int gia, int socho);
- void Xuat();
- float Giathue(int);
- };
- Oto::Oto(string hangsanxuat, string mau, NSX ngaysanxuat, int gia, int socho) :PTGT(hangsanxuat, mau, ngaysanxuat, gia)
- {
- Sochongoi = socho;
- }
- void Oto::SetSoCho(int socho)
- {
- Sochongoi = socho;
- }
- int Oto::GetSoCho()
- {
- return Sochongoi;
- }
- float Oto::Giathue(int gia)
- {
- float giathue = 0;
- giathue = (float)gia*15 / 10000;
- return giathue;
- }
- void Oto::Nhap(string hangsanxuat, string mau, NSX ngaysanxuat, int gia, int socho)
- {
- cout << "\nNhap Hang san xuat: ";
- cin.ignore(0);
- getline(cin, hangsanxuat);
- SetHang(hangsanxuat);
- cout << "\nNhap mau xe: ";
- cin.ignore(0);
- getline(cin, mau);
- SetMau(mau);
- cout << "\nNhap ngay san xuat: ";
- cout << "Ngay "; cin >> ngaysanxuat.Ngay;
- cout << " Thang "; cin >> ngaysanxuat.Thang;
- cout << " Nam "; cin >> ngaysanxuat.Nam;
- SetNgaySanXuat(ngaysanxuat);
- cout << "\nNhap so cho ngoi: ";
- cin >> socho;
- SetSoCho(socho);
- cout << "\nNhap gia tien: ";
- cin >> gia;
- SetGia(gia);
- }
- void Oto::Xuat()
- {
- cout << "\nHang San xuat: " << GetHang();
- cout << "\nMau xe: " << GetMau();
- cout << "\nNgay san xuat: "; GetNgaySanXuat();
- cout << "\nSo cho: " << GetSoCho();
- cout << "\nGia tien: " << GetGia() << "$";
- cout << "\nGia thue: " << Giathue(GetGia()) << "$";
- }
- class Xemay:public PTGT
- {
- private:
- int Congxuat;
- public:
- Xemay(string hangsanxuat = "", string mau = "", NSX ngaysanxuat = { 0,0,0 }, int gia = 0, int congxuat = 0);
- void SetCongXuat(int);
- int GetCongXuat();
- float Giathue(int);
- void Nhap(string,string,NSX,int,int);
- void Xuat();
- };
- Xemay::Xemay(string hangsanxuat, string mau, NSX ngaysanxuat, int gia, int congxuat) :PTGT(hangsanxuat, mau, ngaysanxuat, gia)
- {
- Congxuat = congxuat;
- }
- void Xemay::SetCongXuat(int congxuat)
- {
- Congxuat = congxuat;
- }
- int Xemay::GetCongXuat()
- {
- return Congxuat;
- }
- float Xemay::Giathue(int gia)
- {
- float giathue = 0;
- giathue = (float)gia / 10000;
- return giathue;
- }
- void Xemay::Nhap(string hangsanxuat, string mau, NSX ngaysanxuat, int gia, int congxuat)
- {
- cout << "\nNhap Hang san xuat: ";
- cin.ignore(0);
- getline(cin, hangsanxuat);
- SetHang(hangsanxuat);
- cout << "\nNhap mau xe: ";
- cin.ignore(0);
- getline(cin, mau);
- SetMau(mau);
- cout << "\nNhap ngay san xuat: ";
- cout << "Ngay "; cin >> ngaysanxuat.Ngay;
- cout << " Thang "; cin >> ngaysanxuat.Thang;
- cout << " Nam "; cin >> ngaysanxuat.Nam;
- SetNgaySanXuat(ngaysanxuat);
- cout << "\nNhap cong xuat: ";
- cin >> congxuat;
- SetCongXuat(congxuat);
- cout << "\nNhap gia tien: ";
- cin >> gia;
- SetGia(gia);
- }
- void Xemay::Xuat()
- {
- cout << "\nHang San xuat: " << GetHang();
- cout << "\nMau xe: " << GetMau();
- cout << "\nNgay san xuat: "; GetNgaySanXuat();
- cout << "\nCong xuat: " << GetCongXuat();
- cout << "\nGia tien: " << GetGia() << "$";
- cout << "\nGia thue: " << Giathue(GetGia()) << "$";
- }
- int main()
- {
- Oto Car;
- Xemay Moto;
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement