您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 面向对象程序设计C++试验题目
标题:1.函数重载实习二C++函数时限:3000ms内存限制:10000K总时限:3000ms描述:设计一菜单程序,利用函数重载实现员工月工资的计算,计算方法如下:(1)管理人员的月工资=月薪-缺勤天数×月薪÷22;(2)销售人员的月工资=底薪+销售金额×提成比例;(3)计件工人的月工资=产品件数×每件报酬;(4)计时工人的月工资=工作小时×小时报酬;输入:职工类别及相关信息。职工类别:1表示管理人员;2表示销售人员;3表示计件工人;4表示计时工人;其余字符表示退出。相关信息:若为管理人员,则输入月薪和缺勤天数;若为销售人员,则输入底薪、销售金额和提成比例;若为计件工人,则输入产品件数和每件报酬;若为计时工人,则输入工作小时和小时报酬。输出:员工月工资。输入样例:1〈--职工类别5000.01〈--月薪和缺勤天数输出样例:4772.73提示:1.计算管理人员、销售人员、计件工人、计时工人的月工资的函数原型可以分别设计如下:doublegetEarning(doublesalary,intabsenceDays);doublegetEarning(doublebaseSalary,doublesalesSum,doublerate);doublegetEarning(intworkPieces,doublewagePerPiece);doublegetEarning(doublehours,doublewagePerHour);2.菜单程序设计如下:intmain(){...coutPleaseselect...endl;cout1:Manager.endl;cout2:SalesMan.endl;cout3:PiecesWorker.endl;cout4:Hour-Worker.endl;coutOthers:Quitendl;cinsel;switch(sel){case1:cin...;coutgetEarning(...);break;case2:cin...;coutgetEarning(...);break;case3:cin...;coutgetEarning(...);break;case4:cin...;coutgetEarning(...);break;default:break;}return0;}来源:#includeiostreamusingnamespacestd;doublegetEarning(doublesalary,intabsenceDays){return(salary-salary*absenceDays/22);}//admindoublegetEarning(doublebaseSalary,doublesalesSum,doublerate){return(baseSalary+salesSum*rate);}doublegetEarning(intworkPieces,doublewagePerPiece){return(workPieces*wagePerPiece);}doublegetEarning(doublehours,doublewagePerHour){return(hours*wagePerHour);}intmain(){intkind=0;coutPleaseselect...endl;cout1:Manager.endl;cout2:SalesMan.endl;cout3:PiecesWorker.endl;cout4:Hour-Worker.endl;coutOthers:Quitendl;cinkind;switch(kind){case1:{doublesalary;intabDays;cinsalaryabDays;coutgetEarning(salary,abDays);break;}case2:{doublebase;doublesalesSum;doublerate;cinbasesalesSumrate;coutgetEarning(base,salesSum,rate);break;}case3:{intworkPieces;doublewagePerPiece;cinworkPieceswagePerPiece;coutgetEarning(workPieces,wagePerPiece);break;}case4:{doublehours;doublewagePerHour;cinhourswagePerHour;coutgetEarning(hours,wagePerHour);break;}default:break;}//coutgetEarning(100.0,11);//coutgetEarning(100.0,10.0,0.1);//coutgetEarning(100,0.2);//coutgetEarning(200,0.3);return0;}标题:2.引用传递时限:3000ms内存限制:10000K总时限:3000ms描述:设计一个函数,将两个浮点数传入,然后通过引用把其和、差、积传出。函数原型如下:voidMath(floata,floatb,float&sum,float&sub,float&pro);输入:输入两个浮点数输出:输出两个浮点数的和、差、积。输入样例:6.52.3输出样例:8.84.214.95#includeiostreamusingnamespacestd;voidMath(floata,floatb,float&sum,float&sub,float&pro){sum=a+b;sub=a-b;pro=a*b;}intmain(){floatsum=0;floatsub=0;floatpro=0;floata=0;floatb=0;cinab;Math(a,b,sum,sub,pro);coutsumsubproendl;return0;}标题:3.函数模板时限:3000ms内存限制:10000K总时限:3000ms描述:设计一个函数模板,实现两个同类型数据的交换。将设计好的函数模板分别实例化为两个整型数交换、两个字符交换的模板函数,调用这些函数并输出运行结果。输入:分别输入两个整型数和两个字符输出:分别输出两个整型数和两个字符交换的结果输入样例:59输出样例:95#includeiostreamusingnamespacestd;templateclassTTcg(T&a,T&b){Tc;c=a;a=b;b=c;}intmain(){inta=0;intb=0;charc=0;chard=0;cinabcd;cg(a,b);cg(c,d);coutabendlcdendl;return0;}标题:4.默认形参值时限:3000ms内存限制:10000K总时限:3000ms描述:设计一个求空间两点距离的函数,要求第2个点的默认值为坐标原点。输入:两个点的坐标。输出:输出第一个点与原点之间的距离及输入的两个点之间的距离。输入样例:111555输出样例:1.732056.9282提示:函数原型可设计如下:floatdistance(floatx1,floaty1,floatz1,floatx2=0,floaty2=0,floatz2=0);#includeiostream#includecmathusingnamespacestd;floatdistance(floatx1,floaty1,floatz1,floatx2=0,floaty2=0,floatz2=0){returnsqrt(pow(x1-x2,2)+pow(y1-y2,2)+pow(z1-z2,2));}intmain(){floatx1=0;floatx2=0;floaty1=0;floaty2=0;floatz1=0;floatz2=0;cinx1y1z1x2y2z2;coutdistance(x1,y1,z1)endl;coutdistance(x1,y1,z1,x2,y2,z2)endl;return0;}实习三标题:类的定义_静态常量时限:3000ms内存限制:10000K总时限:3000ms描述:设计并实现一个圆柱类Cylinder,要求:(1)设计两个double型的私有数据成员:高度height和底圆半径radius。(2)设计一个double型的公有静态常量数据成员pi(其值初始化为3.1415926),以及一个获取该常量的公有静态成员函数GetPI。(3)在构造函数的初始化列表中初始化高度height和底圆半径radius。(4)设计用于获取半径的成员函数GetRadius、获取高度的成员函数GetHeight、设置半径的成员函数SetRadius、设置高度的成员函数SetHeight。(5)设计用于计算圆柱体积的成员函数Volume()、计算圆柱表面积的成员函数Area。在main函数中:根据输入的高度和半径构造圆柱对象,并输出圆柱的基本信息、体积和表面积。输入:圆柱的高度和底圆半径输出:圆周率pi、圆柱高度、底圆半径、圆柱的体积和表面积输入样例:2.01.0输出样例:pi=3.14159,height=2,radius=1:volume=6.28319,area=18.8496#includeiostreamusingnamespacestd;classCylinder{private:doubleheight,radius;public:staticconstdoublePi=3.1415926;Cylinder(doublea=0,doubleb=0){height=a;radius=b;}doubleGetPI(){returnPi;}voidGetRadius(){cinradius;}voidGetHeight(){cinheight;}doubleSetRadius(){returnradius;}doubleSetHeight(){returnheight;}doubleVolume(){returnPi*radius*radius*height;}doubleArea(){return2*Pi*radius*height+2*Pi*radius*radius;}};intmain(){Cylindery;y.GetHeight();y.GetRadius();coutpi=y.GetPI(),;coutheight=y.SetHeight(),;coutradius=y.SetRadius():;coutvolume=y.Volume(),;coutarea=y.Area()endl;return0;}标题:类的定义_深拷贝时限:3000ms内存限制:10000K总时限:3000ms描述:设计并实现一个动态整型数组类Vect,要求:(1)实现构造函数重载,可以根据指定的元素个数动态创建初始值为0的整型数组,或根据指定的内置整型数组动态创建整型数组。(2)设计拷贝构造函数和析构函数,注意使用深拷贝。(3)设计存取指定位置的数组元素的公有成员函数,并进行下标越界,若越界则输出“outofboundary”。(4)设计获取数组元素个数的公有成员函数。(5)设计用于输出数组元素的公有成员函数,元素之间以空格分隔,最后以换行符结束。在main函数中按以下顺序操作:(1)根据内置的静态整型数组{1,2,3,4,5}构造数组对象v1,根据输入的整型数构造数组对象v2。
本文标题:面向对象程序设计C++试验题目
链接地址:https://www.777doc.com/doc-4638217 .html