C++程序設(shè)計(jì)題目源碼(實(shí)驗(yàn)二)
實(shí)驗(yàn)題目(共4題,第1題)標(biāo)題:1.函數(shù)重載時限:3000 ms總時限:內(nèi)存限制:10000 K3000 ms設(shè)計(jì)一菜單程序,利用函數(shù)重載實(shí)現(xiàn)員工月工資的計(jì)算,計(jì)算方法如 下:描述:(1)管理人員的月工資 =月薪一缺勤天數(shù)X月薪 + 22;(2)銷售人員的月工資 =底薪+銷售金額 X提成比例;(3)計(jì)件工人的月工資 =產(chǎn)品件數(shù)X每件報酬;(4)計(jì)時工人的月工資 =工作小時 X小時報酬;職工類別及相關(guān)信息。職工類別:1表示管理人員;2表示銷售人員;3表示計(jì)件工人;4表示八計(jì)時工人;其余字符表示退出。輸入:相關(guān)信息:若為管理人員,則輸入月薪和缺勤天數(shù);若為銷售人員,則 輸入底薪、銷售金額和提成比例;若為計(jì)件工人,則輸入產(chǎn)品件數(shù)和每 件報酬;若為計(jì)時工人,則輸入工作小時和小時報酬。輸出:員工月工資。職工類別輸入樣例:5000.0 1月薪和缺勤天數(shù)輸出樣例:4772.731 .計(jì)算管理人員、銷售人員、計(jì)件工人、計(jì)時工人的月工資的函數(shù)原型 可以分別設(shè)計(jì)如下:double getEarning(double salary, int absenceDays);提示:double getEarning(double baseSalary, double salesSum, double rate);double getEarning(int workPieces, double wagePerPiece);double getEarning(double hours, double wagePerHour);2.菜單程序設(shè)計(jì)如下: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" << endl;cin >> sel;switch(sel)case 1:cin >> .;cout << getEarning(.);break;case 2:cin >> .;cout << getEarning(.);break;case 3:cin >> .;cout << getEarning(.);break;case 4:cin >> .;cout << getEarning(.);break;default:break;return 0;來源:? #include <iostream>? 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 wagePerPiece)? 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" << endl;int sel;cin >> sel;switch(sel)case 1:double salary;int absenceDays;cin>>salary>>absenceDays;cout << getEarning(salary,absenceDays); break;case 2:double baseSalary,salesSum,rate;cin>>baseSalary>>salesSum>>rate;cout << getEarning(baseSalary,salesSum,rate); break;case 3:int workPieces;?double wagePerPiece;?cin>>workPieces>>wagePerPiece;?cout << getEarning(workPieces,wagePerPiece);?break;? case 4:?double hours,wagePerHour;?cin>>hours>>wagePerHour;?cout << getEarning(hours,wagePerHour);?break;?default:?break;?return 0;?實(shí)驗(yàn)題目(共4題,第2題)標(biāo)題:2.引用傳遞3000 ms內(nèi)存限制:10000 K總時限:3000 ms設(shè)計(jì)一個函數(shù),將兩個浮點(diǎn)數(shù)傳入,然后通過引用把其和、差、積傳出。中曲I術(shù):一、“,一一.,._._函數(shù)原型如下:void Math(float a,float b,float &sum,float? #include <iostream>? #include <cmath>? 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;?cin>>a>>b;?Math(a,b,sum,sub,pro);?cout<<sum<<" "<<sub<<" "<<pro<<endl;?return 0;?實(shí)驗(yàn)題目(共4題,第3題)#include <iostream>? template<class Type>? void swap(Type &a,Type &b)?Type x;?x=a;?a=b;?b=x;? int main()?int a,b;?char x,y;?std:cin>>a>>b;?swap(a,b);std:cout<<a<<" "<<b<<std:endl;std:cin>>x>>y;swap(x,y);std:cout<<x<<" "<<y<<std:endl;return 0;實(shí)驗(yàn)題目(共4題,第4題)標(biāo)題:4.默認(rèn)形參值時限:3000 ms內(nèi)存限制:10000 K總時限:3000 ms描述:設(shè)一個求空間兩點(diǎn)距離的函數(shù),要求第2個點(diǎn)的默認(rèn)值為坐標(biāo)原點(diǎn)。輸入:兩個點(diǎn)的坐標(biāo)。輸出:輸出第一個點(diǎn)與原點(diǎn)之間的距離及輸入的兩個點(diǎn)之間的距離。輸入樣例:1 1 15 5 5輸出樣例:1.732056.9282提示:函數(shù)原型可設(shè)計(jì)如下:float distancefloat x1,float y1,float z1, float x2=0,float y2=0,float z2=0);來源:#include <cmath>? 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;?cin>>x1>>y1>>z1>>x2>>y2>>z2;?cout<<distance(x1,y1,z1)<<endl;?cout<<distance(x1,y1,z1,x2,y2,z2)<<endl;?return 0;