Chương trình thực hiện quản lý lương trong C++ (Xây dựng lớp....)
Đăng lúc 3/28/2012 09:06:00 PM
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

LIÊN QUAN
BÌNH LUẬN