Bài tập phương pháp lập trình hướng đối tượng
Co2005_Laptrinhhuongdoituong_The C++ Programming Language (Special 3rd Edition), Bjarne Stroustrup, 2000.Pdf Java Object- Basic - Programming.Pdf Lthdt_Pham Van At.Pdf Lập Trình Hướng Đối Tượng Với Java Đoàn Văn Ban.Pdf Paul Deitel, Harvey Deitel - C++ How To Program-Deitel (2017).Pdf Sedgewick, Robert - Algorithms In C, Parts 1-4_ Fundamentals, Data Structures, Sorting, Searching-Addison Wesley (1998).Pdf Tài liệu Bài tập lập trình hướng đối tượng C++ BỘ CÔNG THƯƠNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP PHÚC YÊN BÀI TẬP LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG C++ CƠ BẢN THỰC HIỆN: TRẦN XUÂN THỨC CN: Trần Xuân Thức - 1- [email protected] Bài tập lập trình hướng đối tượng C++ I. DẠNG BÀI TẬP MÔ TẢ BẰNG LỜI. Toàn bộ các lớp, các mối quan hệ giữa các lớp được đề bài mô tả bằng lời một cách chi tiết. Dạng này dễ dàng xác định được các lớp của bài và mối quan hệ giữa chúng, các thuộc tính và phương thức trong mỗi lớp. Do vậy ta dễ dàng vẽ một sơ đồ cho mỗi bài (nếu cần). Sau đây là một số bài tập ví dụ: Bài 1.1: Xây dựng lớp Person gồm các thông tin: Họ và tên, Ngày sinh, Quê quán. Sau đó, xây dựng lớp dẫn xuất “Kỹ sư” ngoài các thông tin của lớp Person, lớp kỹ sư còn có các thông tin về: Ngành học, Năm tốt nghiệp (int) và các phương thức: Phương thức nhập: nhập các thông tin của kỹ sư. Phương thức xuất: xuất các thông tin lên màn hình. Xây dựng chương trình chính nhập vào một danh sách các kỹ sư. In danh sách của các kỹ sư lên màn hình và thông tin của các kỹ sư tốt nghiệp gần đây nhất (năm tốt nghiệp lớn nhất). includeincludeincludeinclude class Person { public: char HT[30]; char NS[30]; char Q[30]; }; class Kysu:public Person { public: char NH[30]; int NTN; void nhap(); void xuat(); }; void Kysu::nhap() { cout<<"Ho ten: ";gets(HT);fflush(stdin); cout<<"Ngay sinh: ";gets(NS);fflush(stdin); cout<<"Que quan: ";gets(Q);fflush(stdin); cout<<"Nganh hoc: ";gets(NH);fflush(stdin); cout>NTN; } void Kysu::xuat() CN: Trần Xuân Thức - 2- [email protected] Bài tập lập trình hướng đối tượng C++ { cout<<"Ho ten: "<includeincludeincludeinclude class Mayin { public: CN: Trần Xuân Thức - 3- [email protected] Bài tập lập trình hướng đối tượng C++ float TL; char NamSX[30]; char HangSX[30]; }; class Mkim:public Mayin { int Skim; int Tdo; public: void nhap(); void xuat(); }; class Mlaser:public Mayin { int DPG; int TD; public: void nhap(); void xuat(); }; void Mkim::nhap() { cout>TL; cout<<"Nam sx: ";gets(NamSX);fflush(stdin); cout<<"Hang sx: ";gets(HangSX);fflush(stdin); cout>Skim; cout>Tdo; } void Mkim::xuat() { cout<<"Trong luong may: "<includeincludeincludeinclude class Person { public: char HT[50],NS[12],QQ[100]; void nhap(); CN: Trần Xuân Thức - 5- [email protected] Bài tập lập trình hướng đối tượng C++ void xuat(); Person() { strcpy(HT,"");strcpy(NS,"");strcpy(QQ,""); } }; class Diem { public: int Dtoan; int Dly; int Dhoa; void nhap(); void xuat(); Diem() { Dtoan=Dly=Dhoa=0; } }; class Hocsinh:public Person,public Diem { char Lop[30]; int TDiem; public: void nhap(); void xuat(); Hocsinh() { strcpy(Lop,"");TDiem=0; } }; void Person::nhap() { cout<<"Ho ten: ";gets(HT);fflush(stdin); cout<<"Ngay sinh: ";gets(NS);fflush(stdin); cout<<"Que quan: ";gets(QQ);fflush(stdin); } void Person::xuat() { cout<<"Ho ten: "<includeincludeincludeinclude class NhaSX { char TenNSX[30]; char DC[30]; friend class May; friend class Maytinh; friend void In(Maytinh *a,int n); friend void Xoa(Maytinh *a,int *n); }; class May { public: char NH[30]; NhaSX NSX; float GT; void nhap(); void xuat(); }; class Maytinh:public May { float TD; int DLR; int DLHDD; public: void nhap(); void xuat(); CN: Trần Xuân Thức - 8- [email protected] Bài tập lập trình hướng đối tượng C++ friend void In(Maytinh *a,int n); friend void Sap(Maytinh *a,int n); friend void Xoa(Maytinh *a,int *n); }; void May::nhap() { cout<<"Nhan hieu: ";gets(NH);fflush(stdin); cout<<"Ten NSX: ";gets(NSX.TenNSX);fflush(stdin); cout<<"Dia chi: ";gets(NSX.DC);fflush(stdin); cout>GT; } void May::xuat() { cout<<"Nhan hieu: "<n; for(i=0;i | includeincludeincludeinclude class NhaSX { char TenNSX[30]; char DC[30]; friend class May; friend class Maytinh; friend void In(Maytinh *a,int n); friend void Xoa(Maytinh *a,int *n); }; class May { - Tốc độ - Dung lượng RAM - Dung lượng HDD void input(); void output(); Máy tính Nhà sản xuất private: - Tên NSX - Địa chỉ public: void input(); void output(); Máy - Nhãn hiệu - Nhà sản suất - Giá thành void input(); void output(); Bài tập lập trình hướng đối tượng C++ public: char NH[30]; NhaSX NSX; float GT; void nhap(); void xuat(); }; class Maytinh:public May { int TD; float DLR; float DLHDD; public: void nhap(); void xuat(); }; void May::nhap() { cout<<"Nhan hieu: ";gets(NH);fflush(stdin); cout<<"Ten NSX: ";gets(NSX.TenNSX);fflush(stdin); cout<<"Dia chi: ";gets(NSX.DC);fflush(stdin); cout>GT; } void May::xuat() { cout<<"Nhan hieu: "<n; for(i=0;i | includeincludeincludeincludeinclude class Ve { public: int Giagoc; char Ngay[30]; void nhap(); void xuat(); }; class VeNL:public Ve { int Giam; float Giave; public: void nhap(); void xuat(); }; class VeTE:public Ve { int Giam; float Giave; public: void nhap(); void xuat(); }; void Ve::nhap() { cout>Giagoc; cout<<"Ngay: ";gets(Ngay);fflush(stdin); } void Ve::xuat() { cout<<"Gia goc: "<includeincludeincludeinclude class Power { public: void Bat_Nguon(); void Tat_Nguon(); }; class OS { char Ten[30]; public: void Khoi_Dong(); void Tat_HDH(); friend class Computor; }; class CPU { Power Nguon; OS HDH; friend class Computor; }; class Monitor { int Do_Sang; public: void Datdosang(int ds); }; class Computor { Monitor Man_Hinh; CN: Trần Xuân Thức - 17- [email protected] Bài tập lập trình hướng đối tượng C++ CPU Cpu; public: void Cai_Dat(char *Ten); void Bat_CPU(); void Datdosang(int ds); void Tat_CPU(); }; void Power::Bat_Nguon() { cout<<"Nguon da bat"; } void Power::Tat_Nguon() { cout<<"Nguon da tat"; } void OS::Khoi_Dong() { cout<<"He dieu hanh da khoi dong. "<includeincludeincludeinclude class Person { public: char HT[30]; int Tuoi; void nhap(); void xuat(); }; class Hospital { char TenBV[30],DC[30]; Person GD; friend class BN; friend void IN(BN *a,int n); }; class BN:public Person { char TS[30],CD[30]; Hospital BV; public: void nhap(); Person Họ tên Tuổi Hospital Person Tên BV Họ tên Tuổi Địa chỉ Nhap( ) Nhap( ) Xuat( ) Xuat( ) Bài tập lập trình hướng đối tượng C++ void xuat(); friend void IN(BN *a,int n); }; void Person::nhap() { cout<<"Ho ten: ";gets(HT);fflush(stdin); cout>Tuoi; } void Person::xuat() { cout<<"Ho ten: "<
|