Lập trình hướng đối tượng - 28


{

list kq; clrscr();

cout<<"na. Xet theo diem chuan"; cout<<"nb. Xet theo so luong"; cout<<"nc. Quay lai(nhan r):"; cout<<"n Ban chon:"; cin.ignore(1);

cin>>lc; switch(lc)

{

case 'a':

cout<<"Diem chuan:";cin>>diemchuan; kq=l.xettuyen_diem(diemchuan); kq.display();

getch();

cin.ignore();

Có thể bạn quan tâm!

Xem toàn bộ 256 trang tài liệu này.

cout<<"Da xong, co gi vao tep khong?"; cin>>tl;

if((tl=='c')||(tl=='C'))

Lập trình hướng đối tượng - 28

{

cout<<"Ten tep:"; cin.ignore(); cin.getline(filename,20); kq.ghi_tep(filename);

}

break; case 'b':

cout<<"So luong:";cin>>soluong; kq=l.xettuyen_soluong(soluong); kq.display();

getch();

cin.ignore();

cout<<"Da xong, co gi vao tep khong?"; cin>>tl;

if((tl=='c')||(tl=='C'))

{

cout<<"Ten tep:"; cin.ignore(); cin.getline(filename,20); kq.ghi_tep(filename);

}

break;

}

}

while(lc!='r'); break;


}

}

while (chon!=8);

}

Ví dụ tổng hợp 2: Một siêu thị được tổ chức thành các phòng kinh doanh, thông tin về mỗi phòng gồm: mã phòng, tên phòng, địa chỉ, điện thoại. Mỗi phòng có một người quản lý (thông tin về người quản lý gồm: mã người quản lý, họ tên, địa chỉ,

điện thoại, email, lương, phụ cấp, mã phòng mà người này quản lý) và một số nhân viên. Mỗi phòng có trách nhiệm bán một số mặt hàng nào đó (thông tin về mỗi mặt hàng gồm: mã mặt hàng, tên mặt hàng, đơn vị tính, mã nhà cung cấp cung cấp mặt hàng đó) bởi các nhân viên. Mỗi nhân viên chỉ được làm trong một phòng, thông tin về mỗi nhân viên gồm: mã nhân viên, họ tên nhân viên, địa chỉ, điện thoại, email, lương, mã phòng mà người này làm việc trong đó. Khi bán hàng cho khách hàng, nhân viên siêu thị tiền hành lưu thông tin khách hàng nếu những thông tin này chưa

được lưu trữ trong danh sách khách hàng(thông tin về mỗi khách hàng gồm: mã khách hàng, họ tên khách hàng, địa chỉ, điện thoại, email) và lập hoá đơn bán hàng, mỗi hoá đơn dùng để lưu thông tin giao dịch một mặt hàng trong một lần bao gồm: Mã hoá đơn, mã nhân viên bán hàng, mã khách hàng, mã mặt hàng, số lượng, đơn giá, ngày bán. Các mặt hàng được cung cấp bởi các nhà cung cấp, một nhà cung cấp có thể cung cấp nhiều mặt hàng, thông tin về mỗi nhà cung cấp bao gồm: mã nhà cung cấp, tên nhà cung cấp, địa chỉ, điện thoại, email, số tài khoản. viết chương trình quản lý thông tin cđa siêu thị, với các chức năng chính:

+ Quản lý danh sách nhân viên cđa siêu thị

+ Quản lý danh sách mặt hàng

+ Quản lý danh sách các nhà quản lý

+ Quản lý danh sách phòng kinh doanh

+ Quản lý danh sách khách hàng

+ Quản lý danh sách hoá đơn bán hàng

+ Hạch toán kinh doanh

- Thống số tiền bán hàng cđa từng nhân viên

- Thống kê số tiền bán hàng cđa từng mặt hàng

- Thống kê số tiền mua hàng cđa từng khách hàng

Yêu cầu:

- Mỗi danh sách( nhân viên, người quản lý, mặt hàng, khách hàng, nhà cung cấp, hoá đơn, phòng kinh doanh) được lưu trữ trong một file dữ liệu. Khi thao tác trên danh sách nào, danh sách đó sẽ được đọc từ file và lưu vào danh sách nối đơn tương ứng.


- Các thao tác bổ sung, tìm kiếm, loại bỏ trên các danh sách thực hiện trên danh sách nối đơn.

Giải: từ mô tả cđa bài toán ta xây dựng cây phả hệ

nhanvien

từ việc xét các thuộc tính chung cđa các lớp: Nhân viên, khách hàng, nhà cung cấp và việc xét mối quan hệ giữa lớp Nhân viên và lớp Người cung cấp ta lập cây phả hệ như sau:


nguoi

nguoiquanly

khachhang

nhacungcap


Trong đó lớp nguoi là lớp cơ sở bao gồm:

- Các thuộc tính: id- mã, name-họ tên, add- địa chỉ, email-email, phone- điện thoại Khi đó, trong các lớp dẫn xuất từ lớp nguoi gồm: nhanvien, khachhang,nhacungcap ta chỉ cần xác định các thuộc tính riêng cđa chúng như sau:

Lớp Nhân viên (Nhanvien)

- Các thuộc tính: lương, mã phòng

Lớp Khách hàng (khachhang)

- Các thuộc tính: không có thuộc tính riêng

e) Lớp Nhà cung cấp (nhacungcap)

- Các thuộc tính: số tài khoản

e) Lớp Người quản lý (nguoiquanly)

- Các thuộc tính: lương, phụ cấp, mã phòng Mã nguồn chương trình

#include<iostream.h>

#include<conio.h>

#include<string.h>

#include<fstream.h>

#include<stdlib.h>

//lớp người- lớp cơ sở

class nguoi

{

protected:

char id[5];//ma

char name[30];//ho ten char email[30];//email


char add[30];//dia chi char phone[11];//dien thoai public:

char *getid();

};

//lớp nhân viên, dẫn xuất từ lớp người

class nhanvien:public nguoi

{

private:

float salary;//luong char pid[5];/ma phong public:

char *getid();

friend istream &operator>>(istream &is,nhanvien &t)

{

cout<<"Ma:"; is.getline(t.id,5); cout<<"Ho va ten:"; is.getline(t.name,30); cout<<"Dia chi:"; is.getline(t.add,30); cout<<"Email:"; is.getline(t.email,30); cout<<"Dien thoai:"; is.getline(t.phone,11); cout<<"Luong:"; is>>t.salary; is.ignore();

cout<<"Ma phong:"; is.getline(t.pid,30); return is;

}

friend ostream &operator<<(ostream &os, const nhanvien &t)

{

cout<<"nMa:"<<t.id; cout<<"nHo va ten:"<<t.name; cout<<"nDia chi:"<<t.add; cout<<"nEmail:"<<t.email; cout<<"nDien thoai:"<<t.phone; cout.width(8); cout.precision(0);

cout<<"n Luong:"<<t.salary; cout<<"Ma phong:"<<t.pid; return os;

}


friend fstream &operator<<(fstream &fs, const nhanvien &t)

{

fs<<t.id<<endl; fs<<t.name<<endl; fs<<t.add<<endl; fs<<t.email<<endl; fs<<t.phone<<endl; fs<<t.salary<<endl; fs<<t.pid<<endl; return fs;

}

friend fstream &operator>>(fstream &fs,nhanvien &t)

{

fs.getline(t.id,5); fs.getline(t.name,30); fs.getline(t.add,30); fs.getline(t.email,30); fs.getline(t.phone,11); fs>>t.salary; fs.ignore();

fs>>t.pid; return fs;

}

};

char *nhanvien::getid()

{

return id;

}

//lớp người quản lý, dẫn xuất từ lớp người

class nguoiquanly:public nguoi

{

private: float salary; float phucap; char pid[5]; public:

char *getid();

friend istream &operator>>(istream &is,nguoiquanly &t)

{

cout<<"Ma:"; is.getline(t.id,5); cout<<"Ho va ten:"; is.getline(t.name,30); cout<<"Dia chi:"; is.getline(t.add,30); cout<<"Email:";


is.getline(t.email,30); cout<<"Dien thoai:"; is.getline(t.phone,11); cout<<"Luong:"; is>>t.salary; cout<<"Phu cap:"; is>>t.phucap; is.ignore();

cout<<"Ma phong:"; is.getline(t.pid,30); return is;

}

friend ostream &operator<<(ostream &os, const nguoiquanly &t)

{

cout<<"nMa:"<<t.id; cout<<"nHo va ten:"<<t.name; cout<<"nDia chi:"<<t.add; cout<<"nEmail:"<<t.email; cout<<"nDien thoai:"<<t.phone; cout.width(8); cout.precision(0);

cout<<"n Luong:"<<t.salary; cout.width(8); cout.precision(0);

cout<<"n Phu cap:"<<t.phucap; cout<<"n Ma phong:"<<t.pid; return os;

}

friend fstream &operator<<(fstream &fs, const nguoiquanly &t)

{

fs<<t.id<<endl; fs<<t.name<<endl; fs<<t.add<<endl; fs<<t.email<<endl; fs<<t.phone<<endl; fs<<t.salary<<endl; fs<<t.phucap<<endl; fs<<t.pid<<endl; return fs;

}

friend fstream &operator>>(fstream &fs,nguoiquanly &t)

{

fs.getline(t.id,5); fs.getline(t.name,30); fs.getline(t.add,30); fs.getline(t.email,30);


fs.getline(t.phone,11); fs>>t.salary; fs>>t.phucap; fs.ignore(); fs.getline(t.pid,30); return fs;

}

};

char *nguoiquanly::getid()

{

return id;

}

//lớp khách hàng, dẫn xuất từ lớp người

class khachhang:public nguoi

{

public:

friend istream &operator>>(istream &is,khachhang &t)

{

cout<<"Ma:"; is.getline(t.id,5); cout<<"Ho va ten:"; is.getline(t.name,30); cout<<"Dia chi:"; is.getline(t.add,30); cout<<"Email:"; is.getline(t.email,30); cout<<"Dien thoai:"; is.getline(t.phone,11); return is;

}

friend ostream &operator<<(ostream &os, const khachhang &t)

{

cout<<"nMa:"<<t.id; cout<<"nHo va ten:"<<t.name; cout<<"nDia chi:"<<t.add; cout<<"nEmail:"<<t.email; cout<<"nDien thoai:"<<t.phone; return os;

}

friend fstream &operator<<(fstream &fs, const khachhang &t)

{

fs<<t.id<<endl; fs<<t.name<<endl; fs<<t.add<<endl; fs<<t.email<<endl; fs<<t.phone<<endl; return fs;


}

friend fstream &operator>>(fstream &fs,khachhang &t)

{

fs.getline(t.id,5); fs.getline(t.name,30); fs.getline(t.add,30); fs.getline(t.email,30); fs.getline(t.phone,11); return fs;

}

char *getid();

};

char *khachhang::getid()

{

return id;

}

class phong

{

private:

char pid[5];//ma phong char pname[30];//ten phong char add[30];//dia chi

char phone[11];//dien thoai public:

friend istream &operator>>(istream &is,phong &t)

{

cout<<"Ma phong:";is.getline(t.pid,5); cout<<"Ten phong:";is.getline(t.pname,30); cout<<"Dia chi:";is.getline(t.add,30); cout<<"Dien thoai:";is.getline(t.phone,11); return is;

}

friend ostream &operator<<(ostream &os, const phong &t)

{

cout<<"n Ma phong:"<<t.pid; cout<<"n Ten phong:"<<t.pname; cout<<"n Dia chi:"<<t.add; cout<<"n Dien thoai:"<<t.phone; return os;

}

friend fstream &operator<<(fstream &fs, const phong &t)

{

fs<<t.pid<<endl; fs<<t.pname<<endl; fs<<t.add<<endl; fs<<t.phone<<endl; return fs;

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 03/07/2022