《C++程序設(shè)計題目源碼(實驗二)》由會員分享,可在線閱讀,更多相關(guān)《C++程序設(shè)計題目源碼(實驗二)(6頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、實驗題目(共4題,第1題)標題:1.函數(shù)重載時限:3000 ms總時限:內(nèi)存限制:10000 K3000 ms設(shè)計一菜單程序,利用函數(shù)重載實現(xiàn)員工月工資的計算,計算方法如 下:描述:(1)管理人員的月工資 =月薪一缺勤天數(shù)X月薪 + 22;(2)銷售人員的月工資 =底薪+銷售金額 X提成比例;(3)計件工人的月工資 =產(chǎn)品件數(shù)X每件報酬;(4)計時工人的月工資 =工作小時 X小時報酬;職工類別及相關(guān)信息。職工類別:1表示管理人員;2表示銷售人員;3表示計件工人;4表示八計時工人;其余字符表示退出。輸入:相關(guān)信息:若為管理人員,則輸入月薪和缺勤天數(shù);若為銷售人員,則 輸入底薪、銷售金額和提成比例
2、;若為計件工人,則輸入產(chǎn)品件數(shù)和每 件報酬;若為計時工人,則輸入工作小時和小時報酬。輸出:員工月工資。職工類別輸入樣例:5000.0 1月薪和缺勤天數(shù)輸出樣例:4772.731 .計算管理人員、銷售人員、計件工人、計時工人的月工資的函數(shù)原型 可以分別設(shè)計如下:double getEarning(double salary, int absenceDays);提示:double getEarning(double baseSalary, double salesSum, double rate);double getEarning(int workPieces, double wagePerPi
3、ece);double getEarning(double hours, double wagePerHour);2.菜單程序設(shè)計如下:int main() .cout Please select. endl;cout 1: Manager. endl;cout 2: Sales Man. endl;cout 3: Pieces Worker. endl;cout 4: Hour-Worker. endl;cout Others: Quit sel;switch(sel)case 1:cin .;cout .;cout .;cout .;cout getEarning(.);break;def
4、ault:break;return 0;來源:? #include ? using namespace std;? double getEarning(double salary, int absenceDays)? return salary-salary*absenceDays/22;? double getEarning(double baseSalary, double salesSum, double rate)? return baseSalary+salesSum*rate;? double getEarning(int workPieces, double wagePerPie
5、ce)? return wagePerPiece*workPieces;? double getEarning(double hours, double wagePerHour)?return hours*wagePerHour;int main() cout Please select. endl;cout 1: Manager. endl;cout 2: Sales Man. endl;cout 3: Pieces Worker. endl;cout 4: Hour-Worker. endl;cout Others: Quit sel;switch(sel)case 1:double sa
6、lary;int absenceDays;cinsalaryabsenceDays;cout baseSalarysalesSumrate;cout workPieceswagePerPiece;?cout hourswagePerHour;?cout getEarning(hours,wagePerHour);?break;?default:?break;?return 0;?實驗題目(共4題,第2題)標題:2.引用傳遞3000 ms內(nèi)存限制:10000 K總時限:3000 ms設(shè)計一個函數(shù),將兩個浮點數(shù)傳入,然后通過引用把其和、差、積傳出。中曲I術(shù):一、“,一一.,._._函數(shù)原型如下:v
7、oid Math(float a,float b,float &sum,float? #include ? #include ? using namespace std;? void Math(float a,float b,float &sum,float &sub,float &pro)?sum=a+b;?sub=a-b;?pro=a*b;? int main()?float a,b,sum,sub,pro;?cinab;?Math(a,b,sum,sub,pro);?coutsum sub proendl;?return 0;?實驗題目(共4題,第3題)#include ? templa
8、te? void swap(Type &a,Type &b)?Type x;?x=a;?a=b;?b=x;? int main()?int a,b;?char x,y;?std:cinab;?swap(a,b);std:couta bxy;swap(x,y);std:coutx ystd:endl;return 0;實驗題目(共4題,第4題)標題:4.默認形參值時限:3000 ms內(nèi)存限制:10000 K總時限:3000 ms描述:設(shè)一個求空間兩點距離的函數(shù),要求第2個點的默認值為坐標原點。輸入:兩個點的坐標。輸出:輸出第一個點與原點之間的距離及輸入的兩個點之間的距離。輸入樣例:1 1 15
9、5 5輸出樣例:1.732056.9282提示:函數(shù)原型可設(shè)計如下:float distancefloat x1,float y1,float z1, float x2=0,float y2=0,float z2=0);來源:#include ? using namespace std;float distance(float x1,float y1,float z1, float x2=0,float y2=0,float z2=0) return sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2);? int main()?float x1,y1,z1,x2,y2,z2;?cinx1y1z1x2y2z2;?coutdistance(x1,y1,z1)endl;?coutdistance(x1,y1,z1,x2,y2,z2)endl;?return 0;