日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

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

發布時間:2023/12/20 c/c++ 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++语言课程设计——职工工资表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、設計題目

職工工資表

二、設計目的

設計一個職工工資表,能夠通過菜單實現簡單的信息錄入與顯示操作。注意對象數組的使用,利用賦值兼容規則實現不同類型的員工的信息存儲,并使用虛函數完成對于不同類型員工的工資計算任務。

三、設計要求

使用繼承的方法,設計5個類,代表四類員工,利用多態性實現信息的輸入與輸出。

四、設計思想

1、類的結構圖

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?

?話不多說,直接上代碼

#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<<"工號為"<<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<<"請輸入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<<"輸入錯誤,請從新輸入,請輸入1-3:"<<endl;}else{switch(x){case 1:cout<<"請輸入員工的類型:1.技術人員;<2.銷售人員;<3.經理;<4.銷售經理>"<<endl;cin>>y;if(y<1||y>4){cout<<"輸入錯誤,請重新輸入,請輸入1-4:"<<endl;}else{switch(y){case 1:cout<<"技術人員信息初始化..."<<endl<<"請輸入員工編號:";cin>>i;t[a].setid(i);cout<<"請輸入員工姓名:";cin>>n;t[a].setname(n);cout<<"請輸入技術人員工作時間:";cin>>wh;t[a].sethours(wh);cout<<"請輸入技術人員時薪:";cin>>hr;t[a].setrate(hr);t[a].getpay();e[a]=&t[a];a++;break;case 2:cout<<"銷售人員信息初始化..."<<endl<<"請輸入員工編號:";cin>>i;s[a].setid(i);cout<<"請輸入員工姓名:";cin>>n;s[a].setname(n);cout<<"請輸入銷售人員銷售額:";cin>>sa;s[a].setsales(sa);cout<<"請輸入銷售人員工作效率:";cin>>c;s[a].setcommrate(c);s[a].getpay();e[a]=&s[a];a++;break;case 3:cout<<"經理信息初始化..."<<endl<<"請輸入員工編號:";cin>>i;m[a].setid(i);cout<<"請輸入員工姓名:";cin>>n;m[a].setname(n);cout<<"請輸入經理固定工資:";cin>>mp;m[a].setmonthlypay(mp);m[a].getpay();e[a]=&m[a];a++;break;case 4:cout<<"銷售經理信息初始化..."<<endl<<"請輸入員工編號:";cin>>i;sm[a].setid(i);cout<<"請輸入員工姓名:";cin>>n;sm[a].setname(n);cout<<"請輸入銷售經理固定工資:";cin>>mp;sm[a].setmonthlypay(mp);cout<<"請輸入銷售經理下屬部門銷售額:";cin>>sa;sm[a].setsales(sa);cout<<"請輸入銷售經理提成:";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; }

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。