c++机考题目加答案.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《c++机考题目加答案.docx》由会员分享,可在线阅读,更多相关《c++机考题目加答案.docx(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、/集合中元素个数的最大值,默认为int型/错误代码/ Bool类型定义/定义集合类/存储元素的数组/集合中元素的个数/推断一个数是否为集合中的元素/向集合中添加元素/删除集合中的元素/把当前集合拷贝到形参指针指向的集合中/推断两个集合是否相等/交集/并集1.实现一个大小固定的整型数据元素集合及其相应操作(元素的添加、删除;推断两个集合是否相等;推断一个数是否为 集合中的元素;交集;并集)。P76.列3.24#include const maxCard = 16;enum ErrCode noErr, overflow;enum Bool False, True;class Set(int el
2、emsmaxCard;int card;public:void EmptySet( )card = 0;Bool Member(int);ErrCode AddElem(int);void Rmv日em(int);void Copy(Set *);Bool Equal(Set *);void Print();void lntersect(Set *, Set *);ErrCode Union(Set *, Set *););Bool Set:Member(int elem)(for(int i=0;icard;+i) if(elemsi = elem)return True;return Fa
3、lse;)ErrCode Set:Add日em(int elem)(if(Member(elem)return noErr;if(card maxCard);int main()(Student stu50;int i,q,a,z,x,max=O,aver=O; i 为循环变量,q:学号;a:数学成果;/z:英语成果;x:计算机成果int count = 0; 表示学生人数char* we=new char10;/输入学生信息for(;)(couta+z+x);else max=a+z+x;aver+=(a+z+x);)/输出全部学生信息cout”学生信息为:endlendl;for( i =
4、 0; i count; i+)stui.print();coutendl;cout全班学生总成果最高分为 maxendl全班学生总平均分为vaver73endlendl;cout “请输入要查的学生的学号:endl;cinq;for( i = 0; i count; i+)if (q=stui.get_reg_num()(cout此学生信息为:“cvendl;stui.print();break;)if (i=count)cout查无此人,endl;return 0;)4.定义复数类complex,运用友元函数,完成复数的加法、减法、乘数运算,以及复数的输出。P95.4.8#include
5、class Complex(double real;double image;public:Complex(double r = 0, double i = 0) (real = r; image = i;)friend void inputcomplex(Complex &comp);friend Complex addcomplex(Complex &cl, Complex &c2);friend Complex subcomplex(Complex &cl, Complex &c2);friend Complex mulcomplex(Complex &cl, Complex &c2);
6、friend void outputcomplex(Complex &comp););void inputcomplex(Complex &comp)(cin comp.real comp.image;)Complex addcomplex(Complex &cl, Complex &c2)(Complex c;c.real = cl.real + c2.real;c.image = cl.image + c2.image;return c;)Complex subcomplex(Complex &cl, Complex &c2)(Complex c;c.real = cl.real - c2
7、.real;c.image = cl.image - c2.image;return c;)Complex mulcomplex(Complex &cl, Complex &c2)(Complex c;c.real = cl.real * c2.real - cl.image * c2.image;c.image = cl.real * c2.image + cl.image * c2.real;return c;void outputcomplex(Complex &comp)cout C comp.real comp.image )void main()(Complex cl,c2,res
8、ult;cout“请输入第一个复数的实部和虚部:“endl;inputcomplex(cl);cout “请输入其次个复数的实部和虚部:“endl;inputcomplex(c2);result=addcomplex(cl,c2);outputcomplex(cl);cout+;outputcomplex(c2);cout计件工(pieceworker)经理(manager)、 佣金工(commissionworker)。时薪工按工作的小时支付工资,对于每周超过50小时的加班时间,依据附加50%薪水支付 工资。按生产的每件产品给计件工支付固定工资,假定该工人仅制造一种产品。经理每周得到固定的工
9、资。佣金工每周 得到少许的固定保底工资,加上该工人在一周内总销售的固定百分比。试编制一个程序来实现该单位的全部员工类,并 加以测试。P125 5.15#include#include class employee(protected:char name10;char emp_id8;double salary;/雇员类/姓名/职工号/薪金数public:void setinfo(char *empnamejnt empsex,char*empid)/设置雇员的基本信息strcpy(name/empname);strcpy(emp_id,empid);)void getinfo(char*emp
10、name/char*empid)(strcpy(empname,name);strcpy(empid,empjd);)double getsalary()(return salary;);/取得雇员的基本信息/取得所应得的总薪金数class hourlyworker:public employee / 时薪工protected:int hours;double perhourpay;public:hourlyworkerf)(hours=0;perhourpay=15.6;)int gethours()(return hours;void sethours(int h)(hours=h;)do
11、uble getperhourpay()(return perhourpay;)void setperhourpay(double pay)(perhourpay=pay;)void computepay()/工作的小时数/每小时应得的酬劳/取得某人工作的小时数/设置某人工作的小时数/取得每小时应得的酬劳/设置每小时应得的酬劳/计算工资if(hours=40)salary=perhourpay*hours;elsesalary=perhourpay*40+(hours-40)*1.5*perhourpay;);class pieceworker:public employee计件工protec
12、ted:int pieces;double perpiecepay;public:pieceworker()(pieces=0;perpiecepay=26.8;)int getpieces()return pieces;void setpieces(int p)pieces=p;double getperpiecepay()return perpiecepay;void setperpiecepay(double ppp)perpiecepay=ppp;void computepay()salary=pieces*perpiecepay;);class manager:public empl
13、oyee(public:void setsalary(double s)salary=s;);class commissionworker:public employee(protected:double basesalary;double total;/每周所生产的工件数/每个工件所应得的工资数/设置生产的工件总数/经理类/设置经理的工资数/佣金工类保底工资/ 一周内的总销售额/提成的额度小时工double percent;public:commissionworker()(basesalary=500;total=0;percent=O.Ol;)double getbase()return
14、 basesalary;void setbase(double base)basesalary=base;double gettotal()return total;void settotal(double t)total =t;double getpercent()return percent;double setpercent(double p)percent=p;void computepay()salary=basesalary+total*percent;);void main()(char name10Lemp_id9;hourlyworker hworker;hworker.se
15、tinfoCJohnO/OOl);hworker.sethours(65);hworker.getinfo(name,emp_id);hworker putepay();couthourlyworker name,Hs id is: ,emp_id and salary is:hworker.getsalary()endl;pieceworker pworker;/ 计件工pworker.setinfoCMarkO/OO?);pworker.setpieces(lOO);pworker putepay();pworker.getinfo(name,empjd);coutpieceworker
16、name,s id is: Hempjd and salary is:pworker.getsalary()endl;commissionworker cworker;/ 佣金工cworker.settotal(234.6);cworker.setinfoCJaneO/OOB);cworker putepay();cworker.getinfo(name,emp_id);coutcommissionworker name,s id is: emp_idH and salary is:cworker.getsalary()endl;manager mana;mana.setinfoCMike,!
17、,004);mana.setsalary(3500);mana.getinfo(name,empjd);coutmanager names id is: ,emp_idH and salary is:mana.getsalary()endl;)6 .考虑高校的学生状况,试利用单一继承来实现学生和毕业生两个类,设计相关的数据成员及函数,编写程序对继承状况 进行测试。P133. 11实P57提示:作为学生确定有学号、姓名、性别、学校名称及入学时间等基本信息,而毕业生除了这些信息外,还应有毕小时 间、所获学位的信息,可依据这些内容设计类的数据成员,也可加入一些其他信息,除了设计对数据进行相应操作的成
18、 员函数外,还要考虑到成员类型、继承模式,并在main()函数中进行相应测试。可设计多种继承模式来测试继承的属性。#include#includeusing namespace std;class Student/定义基类Studentpublic:/公有函数成员Student(int n,char *na,int g):number(n),grade(g) strcpy(name,na);)int getNumber()return number;)char * getName()return name;)int getGrade()return grade;)void display()c
19、out“学号:numberendl“姓名:nameendl“年级:gradeendl;)private:int number;char name20;int grade;/私有数据成员/学号/姓名/年级);定义毕业生类class Graduate:public Studentchar designSubject20;public:elemscard+ = elem;return noErr;)return overflow;)void Set:Rmv日em(int elem)(for(int i = 0; icard; +i)if(elemsi = elem)(for(;icard-l;+i)
20、elemsi = elemsi+l;-card;return;)void Set:Copy(Set *set)(for(int i = 0; i elemsi = elemsi;set-card = card;)Bool Set:Equal(Set *set)(if(card != set-card)return False;for(int i = 0; i Member(elemsi)return False;return True;)void Set:Print()Graduate(int n,char *na,char * deSub,int g=4):Student(n,na,g)st
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 题目 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内