日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

C++语言课程设计——职工工资表

發(fā)布時(shí)間:2023/12/20 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++语言课程设计——职工工资表 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、設(shè)計(jì)題目

職工工資表

二、設(shè)計(jì)目的

設(shè)計(jì)一個(gè)職工工資表,能夠通過(guò)菜單實(shí)現(xiàn)簡(jiǎn)單的信息錄入與顯示操作。注意對(duì)象數(shù)組的使用,利用賦值兼容規(guī)則實(shí)現(xiàn)不同類型的員工的信息存儲(chǔ),并使用虛函數(shù)完成對(duì)于不同類型員工的工資計(jì)算任務(wù)。

三、設(shè)計(jì)要求

使用繼承的方法,設(shè)計(jì)5個(gè)類,代表四類員工,利用多態(tài)性實(shí)現(xiàn)信息的輸入與輸出。

四、設(shè)計(jì)思想

1、類的結(jié)構(gòu)圖

employee

name:string

empNo:string

accumPay:float

SetName(string names):void

GetName():string

SetEmpNo(string no):void

GetEmpNo():string

GetaccumPay():float

virtual pay():void

technician

workHours:int

hourlyRate:float

SetRate(int r):void

SetworkHours(int wh):void

pay():void

salesman

CommRate:float

sales:float

setCommRate(float c):void

setSales(float s):void

pay():void

manager

monthlyPay:float

setMonthPay(float m):void

pay():void

salesmanager

pay():void?

?話不多說(shuō),直接上代碼

#include<iostream> #include<string> using namespace std; class employee{ protected:string name;string id;double accumpay; public:void setname(string n){name=n;}//string getname(){return name;}void setid(string i){id=i;}//string getid(){return id;}virtual void pay(){}double getpay(){return accumpay;}void print(){cout<<"姓名為"<<name<<"工號(hào)為"<<id<<"工資為"<<getpay()<<endl;} }; class technician:virtual public employee{ protected:int rate;int hours; public:void setrate(int r){rate=r;}void sethours(int h){hours=h;}float getpay(){return accumpay=rate*hours;} }; class saleman:virtual public employee{ protected:float commrate;float sales; public:void setcommrate(float c){commrate=c;}void setsales(float s){sales=s;}float getpay(){return accumpay=commrate*sales;} }; class manager:virtual public employee{ protected:float monthlypay; public:void setmonthlypay(float mp){monthlypay=mp;}float getpay(){return accumpay=monthlypay;} }; class salemanager:virtual public saleman,public manager{ public:float getpay(){return accumpay=monthlypay+commrate*sales;} }; void menu(){cout<<"請(qǐng)輸入1-3"<<endl<<"1.添加信息"<<endl<<"2.瀏覽信息"<<endl<<"3.退出程序"<<endl; } int main(){employee *e[50];technician t[50];saleman s[50];manager m[50];salemanager sm[50];int a=0;string i,n;int x,y;int wh;float hr,c,sa,mp;int j;for( ; ; ){menu();cin>>x;if(x<1||x>3){cout<<"輸入錯(cuò)誤,請(qǐng)從新輸入,請(qǐng)輸入1-3:"<<endl;}else{switch(x){case 1:cout<<"請(qǐng)輸入員工的類型:1.技術(shù)人員;<2.銷售人員;<3.經(jīng)理;<4.銷售經(jīng)理>"<<endl;cin>>y;if(y<1||y>4){cout<<"輸入錯(cuò)誤,請(qǐng)重新輸入,請(qǐng)輸入1-4:"<<endl;}else{switch(y){case 1:cout<<"技術(shù)人員信息初始化..."<<endl<<"請(qǐng)輸入員工編號(hào):";cin>>i;t[a].setid(i);cout<<"請(qǐng)輸入員工姓名:";cin>>n;t[a].setname(n);cout<<"請(qǐng)輸入技術(shù)人員工作時(shí)間:";cin>>wh;t[a].sethours(wh);cout<<"請(qǐng)輸入技術(shù)人員時(shí)薪:";cin>>hr;t[a].setrate(hr);t[a].getpay();e[a]=&t[a];a++;break;case 2:cout<<"銷售人員信息初始化..."<<endl<<"請(qǐng)輸入員工編號(hào):";cin>>i;s[a].setid(i);cout<<"請(qǐng)輸入員工姓名:";cin>>n;s[a].setname(n);cout<<"請(qǐng)輸入銷售人員銷售額:";cin>>sa;s[a].setsales(sa);cout<<"請(qǐng)輸入銷售人員工作效率:";cin>>c;s[a].setcommrate(c);s[a].getpay();e[a]=&s[a];a++;break;case 3:cout<<"經(jīng)理信息初始化..."<<endl<<"請(qǐng)輸入員工編號(hào):";cin>>i;m[a].setid(i);cout<<"請(qǐng)輸入員工姓名:";cin>>n;m[a].setname(n);cout<<"請(qǐng)輸入經(jīng)理固定工資:";cin>>mp;m[a].setmonthlypay(mp);m[a].getpay();e[a]=&m[a];a++;break;case 4:cout<<"銷售經(jīng)理信息初始化..."<<endl<<"請(qǐng)輸入員工編號(hào):";cin>>i;sm[a].setid(i);cout<<"請(qǐng)輸入員工姓名:";cin>>n;sm[a].setname(n);cout<<"請(qǐng)輸入銷售經(jīng)理固定工資:";cin>>mp;sm[a].setmonthlypay(mp);cout<<"請(qǐng)輸入銷售經(jīng)理下屬部門銷售額:";cin>>sa;sm[a].setsales(sa);cout<<"請(qǐng)輸入銷售經(jīng)理提成:";cin>>c;sm[a].setcommrate(c);sm[a].getpay();e[a]=&sm[a];a++;} break;case 2:{for(j=0;j<a;j++){e[j]->print();}break;}}}}if(x==3){ cout<<"程序已退出,感謝您的觀看!"<<endl;break;}} return 0; }

總結(jié)

以上是生活随笔為你收集整理的C++语言课程设计——职工工资表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。