Viết CT thực hiện quản lý lương theo yêu cầu sau:
- Xây dựng 2 lớp: lớp người và lớp lương
Trong đó: +lớp người có các dữ liệu thành viên( họ tên, chức vụ) và các hàm cần thiết.
+Lớp lương có dữ liệu thành viên: chỉ số lương( 1,84 . 2,12. 2,4. 2,7 . 2.9..) có hàm hiển thị lương
Biết rằng
+lương lãnh = lương cơ bản * chỉ số lương + phụ cấp chức vụ - bảo hiểm xã hội
+bảo hiểm xã hội=(5% lương cơ bản * chỉ số lương )/100
+phục cấp chức vụ= 100.000đ( giám đốc) 50.000đ( PGĐ)
+những trường hợp còn lại không có phục cấp
+lương cơ bản= 830.000
CT tính và in ra màng hình bản lương
STT-------- HỌTÊN --------CHỈ SỐ LƯƠNG-------- LƯƠNG LÃNH-------- GHI CHÚ
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<iostream.h>
class nguoi{
private:
char *ten;
char *chucvu;
public:
nguoi(char *t,char *cv)
{
ten=new char[strlen(t)+1];
chucvu=new char[strlen(cv)+1];
strcpy(ten,t);
strcpy(chucvu,cv);
}
char *get_chucvu()
{
return chucvu;
}
void xuat()
{
cout<<"\t"<<ten;
}
};
class luong:public nguoi{
private:
float csl;
public:
luong(char *t,char *cv,float csl1):nguoi(t,cv)
{
csl=csl1;
}
float tinhluong()
{
int lcb=830.000,pccv;
if(strcmp(get_chucvu(),"gd"))pccv=100; // so sanh chuoi chuc vu voi chuoi gd
else if(strcmp(get_chucvu(),"pgd"))pccv=50;
else pccv=0;
float bhxh=(5*lcb*csl)/100;
return(lcb*csl+pccv-bhxh);
}
void hienthi()
{
nguoi::xuat();
cout<<"\t"<<csl;
cout<<"\t"<<tinhluong();
}
};void main()
{
clrscr();
float csl;
int chon;
char *ten[30],*chucvu[3];
luong *a[2];
lap:do{
clrscr();
cout<<"\n--------------MENU-------------------------";
cout<<"\n1.nhap vao";
cout<<"\n2.xuat ra";
cout<<"\n3.thoat";
cin>>chon;
switch(chon)
{
case 1:
{
clrscr();
for(int i=0;i<2;i++)
{
cout<<"\nNguoi thu "<<i+1;
cout<<"\nNhap vao ho va ten :";gets(*ten);
cout<<"\nNhap vao chuc vu : ";gets(*chucvu);
cout<<"\nNhap vao chi so luong:";cin>>csl;
cout<<"\n------------------------------";
a[i]=new luong(*ten,*chucvu,csl);
}
goto lap;
}
case 2:
{
clrscr();
cout<<"\nBANG LUONG CHI TIET";
cout<<"\n-----------------------\n";
cout<<"STT\tHoten\tCsl\tLuonglanh\tGhichu";
for(int i=0;i<2;i++)
{
cout<<"\n";
cout<<i;
a[i]->hienthi();
}
getch();
goto lap;
}
case 3:exit(0);
}
}while(chon>=1&&chon<=3);getch();
}
Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3000
0 nhận xét:
Đăng nhận xét