[ C++ ] Chữa bài thi thử môn Lập trình hướng đối tượng với C++

Đề bài:
Sử dụng ngôn ngữ lập trình C++ viết chương trình tính lương cho công ty TOTO. Công ty có 2 loại lao động: Lao động thời vụ  và công nhân chính thức (trả lương theo tháng).
Tính lương tháng của công nhân như sau:
+ Lao động thời vụ: Lương tháng = số ngày công * đơn giá ngày công + thưởng
Trong đó: Thưởng = 2500000 nếu số ngày công lơn hơn hoặc bằng 25.
Thưởng = 2000000 nếu số ngày công nhỏ hơn 25 và lớn hơn 10.
Thường =0 nếu số ngày công nhỏ hơn hoặc bằng 10.
+ Công nhân chính thức: Lương tháng = lương cơ bản * Hệ số lương + phụ cấp
Trong đó: Phụ cấp = lương cơ bản * 1.2 nếu thâm niên công tác từ 3 năm trở nên
Phụ cấp = lương cơ bản * 1.0 nếu thâm niên công tác nhỏ hơn 3 năm
Yêu cầu:
1. Xây dựng lớp trừu tượng TOTO bao gồm:
+ Thuộc tính: Mã NV, Họ tên, loại hợp đồng (lao động thời vụ hay công nhân chính thức).
+ Phương thức:
- NhapThongTin để nhập thông tin cho người lao động gồm: Họ tên, địa chỉ, loại hợp đồng
- Khởi tạo thông tin ban đầu cho người lao động.
- TinhLuong để tính lương tháng cho người lao động (trừu tượng).
- InThongTin để in thông tin người lao động gồm:
*Mã NV
*Họ tên: …
*Loại hợp đồng: …
*Lương tháng: …
2. Xây dựng hai lớp LDThoiVu và CNChinhThuc kế thừa từ lớp TOTO (bổ sung thêm các thuộct tính cần thiết cho từng lớp)
- Khởi tạo giá trị ban đầu về thông tin cho từng loại công nhân (mỗi loại đối tượng).
- Cài đặt phương thức TinhLuong cho từng loại lao động.
- Nhập giá trị cho các thuộc tính mới được bổ sung.
3. Trong phương thức main thực hiên:
- Khởi tạo các đối tượng (mỗi loại lao động một đối tượng)
- Nhập thông tin cho đối tượng
- In thông tin đối tượng
Biết rằng: lương cơ bản = 1,050,000 (VNĐ).

---------------------------------
// Code Turbo C++ 3.0 / 4.5 //
--------------------------------

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>


// class TOTO

class TOTO{
// khai bao cac thuoc tinh
public:
char manv[10],ht[30],lhd[30];
public:
// khai bao cac phuong thuc
TOTO(char *manv,char *ht,char *lhd) //phuong thuc khoi tao
{
strcpy(this->manv,manv);
strcpy(this->ht,ht);
strcpy(this->lhd,lhd);
}
virtual void NhapTT() // phuong thuc ao
{
 fflush(stdin);
 cout<<"\n Nhap thong tin nguoi lao dong:\n";
 cout<<"\n Ma nhan vien: "; gets(manv);
 cout<<"\n Ho ten: "; gets(ht);
 cout<<"\n Loai hop dong: "; gets(lhd);
}
virtual double TinhLuong()=0; // phuong thuc thuan ao
virtual void InTT()
{
 cout<<"\n Ma nhan vien: "<<manv;
 cout<<"\n Ho ten: "<<ht;
 cout<<"\n Loai hop dong: "<<lhd;
 cout<<"\n Luong thang: "<<TinhLuong();
}
};

// class LDThoiVu

class LDThoiVu: public TOTO{
// bo sung them cac thuoc tinh
public:
int soNgayCong;
float donGia;
// Phuong thuc
public:
 // phuong thuc khoi tao
LDThoiVu(char manv[],char ht[],char lhd[], int soNgayCong, float donGia):TOTO(manv,ht,lhd)
{
 this->soNgayCong=soNgayCong;
 this->donGia=donGia;
}
void NhapTT(){
 TOTO::NhapTT(); // goi phuong thuc nhap cua lop cha
 cout<<"\n So ngay cong: "; cin>>soNgayCong;
 cout<<"\n Don gia: "; cin>>donGia;
}
double TinhLuong(){
 double thuong;
 if (soNgayCong>25) thuong=2500000.0;
 else if(soNgayCong>10) thuong=2000000.0;
 else thuong=0.0;

 return (donGia*soNgayCong+thuong);
}

};


// class CNChinhThuc

class CNChinhThuc: public TOTO{
// bo sung them cac thuoc tinh
public:
float heSoLuong,LCB;
int soNamCT;
// Phuong thuc
public:
 // phuong thuc khoi tao
CNChinhThuc(char manv[],char ht[],char lhd[], float heSoLuong, int soNamCT):TOTO(manv,ht,lhd)
{
    this->LCB=1050000.0;
 this->heSoLuong=heSoLuong;
 this->soNamCT=soNamCT;
}
void NhapTT(){
 TOTO::NhapTT(); // goi phuong thuc nhap cua lop cha
 cout<<"\n He so luong: "; cin>>heSoLuong;
}
double TinhLuong(){
 double phuCap;
 if (soNamCT>3) phuCap=LCB*1.2;
 else  phuCap=LCB*1.0;


 return (LCB*heSoLuong+phuCap);
}

};

// ham main
void main(){
 clrscr();
 // khai bao doi tuong LDThoiVu
 LDThoiVu t=LDThoiVu("","","",1,1.0);
 t.NhapTT();
 t.InTT();
 // khai bao doi tuong CNChinhThuc
 CNChinhThuc t1=CNChinhThuc("","","",1.0,1);
 t1.NhapTT();
 t1.InTT();

 getch();
}

//-----------------------------
// Đề nghị các bạn chuyển code sang ngôn ngữ Java

[Tải Code Chương trình tại đây (Lưu ý: Sau 5s, click Bỏ qua quảng cáo - Skin Ad)]


Quảng cáo

Загрузка...

Categories

8051 (1) AI (1) AI programming (1) amazon (1) Android (27) ASP (1) Assembly (17) Bài giảng (2) Bài giảng lập trình C và Cpp (16) bài giảng quản lý dự án CNTT (1) bài tập java (1) bài tập lập trình (1) Bài viết hay (62) Bản đồ tư duy (1) Bidvertiser (1) Biểu diễn thuật toán (1) bitcoin (1) blockchain (1) Blockchain là gì (1) Bubble-Sort (1) C (77) C Plus Plus (103) C sharp (11) C++ (3) cấu trúc dữ liệu giải thuật (1) Cây (tree) (2) Cây quyết định (3) CDSL phân tán (1) Chữa bài tập Java (1) code assembly (1) Công nghệ điện toán đám mây (1) Công nghệ lập trình (1) Cơ sở dữ liệu (10) CSS (2) Cuộc cách mạng công nghiệp 4.0 (1) Danh ngôn lập trình (1) Danh sách liên kết (list) (1) Datamining (4) Đại số gia tử và ứng dụng (1) đăng ký Amazon (1) Đăng ký hosting (2) đặt hàng trên Amazon (1) Đệ quy (2) Đồ họa (4) Độ phức tạp của thuật toán (1) ebook-csdl (1) ebook-giaithuat (1) ebook-laptrinh (1) ebook-phancung-mang (1) ebook-tinhocungdung (1) ebook-web (1) Exceptions (1) Genetic Algorithm (1) Giải hệ phương trình tuyến tính (5) giải thuật (3) giải thuật Đệ quy (1) Giáo trình (2) Góc học tập (34) Góc suy ngẫm (1) Google App Engine (2) Heap-Sort (1) Hệ quản trị CSDL (1) Học lập trình (125) Học lập trình C và CPP qua ví dụ (15) học lập trình Java (7) HostGator (1) hợp ngữ (1) HPH (25) HTML (1) Hướng Dẫn Đăng Ký Tên Miền và Host Trên Hostgator (1) hướng dẫn mua host (1) hướng dẫn nhận tiền (1) hướng dẫn payoneer (1) Hướng dẫn sử dụng Emu8086 (1) hướng dẫn viết báo (1) hướng đăng ký tên miền (1) Insert-sort (2) iOS (1) Java (50) Java Căn bản (5) java core (3) Java GUI (1) JavaScript (3) Kiếm tiền online (10) Kỹ thuật đồ họa máy tính (9) Kỹ thuật lập trình (16) kỹ thuật SEO (1) Lập trình 8051 với C/C++ (1) Lập trình căn bản (7) Lập trình Cơ sở dữ liệu (2) Lập trình điều khiển thiết bị (1) Lập trình hợp ngữ (1) Lập trình hướng đối tượng (38) Lập trình hướng đối tượng với Java (6) Lập trình mạng (6) Lập trình mobile (3) Lập trình nhúng (1) Lập trình trí tuệ nhân tạo (1) lập trình vi xử lý (1) lập trình viên (1) Lập trình viên độc lập (1) Luyện thi IC3 (4) Lý thuyết Cơ sở dữ liệu (2) Lý thuyết đồ thị (11) Mạng máy tính (1) Mẹo tìm kiếm trên Google (1) Merge-Sort (1) MS Access (1) Mua hàng trên Amazon (1) Nghiên cứu khoa học (1) ngon-ngu-khac (1) Ngôn ngữ lập trình (1) Nhúng code Assembly trong C\C++ (2) Những lỗi thường gặp khi lập trình (1) Oracle (1) Pascal (3) payoneer (1) people-group (1) phần cứng máy tính (1) PHP (1) Quản lý dự án CNTT (1) Queue (hàng đợi) (1) Quick-Sort (1) Seclection-sort (2) SEO (1) SQL (5) Stack (ngăn xếp) (1) Swift (8) tài liệu CNTT miễn phí (2) Tài liệu tham khảo (2) thanh toán quốc tế (1) Thiết kế Web (2) Thủ thuật máy tính (5) thuattoan-khac (1) Thuật toán (41) Thuật toán di truyền (2) Thuật toán Đệ quy (4) Thuật toán K-Mean (1) Thuật toán khác (9) Thuật toán leo đồi (1) Thuật toán ma trận (7) Thuật toán Sắp Xếp -Sort (9) Thuật toán Tìm kiếm - Search (5) Thương mại điện tử (4) Tiện ích máy tính (3) Tìm hiểu Blockchain (1) Tìm kiếm nhị phân (2) Tìm kiếm tuần tự (Line search) (2) Tin học văn phòng (5) Tin tức công nghệ (7) Tính định thức của ma trận (1) Toán rời rạc (12) Trí tuệ nhân tạo (8) Tự học lập trình Android (14) Tự học lập trình C và CPP (14) tự học lập trình iOS (8) Tự học lập trình java qua các ví dụ (7) Ứng dụng cơ sở dữ liệu (1) VB (2) vẽ ngôi nhà (1) ví dụ Assembly (1) xcode (8) XML (1) Xử lý ma trận (mảng 2 chiều) (7) Xử lý mảng 1 chiều (1) Xử lý ngoại lệ (1)