您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 商业计划书 > C++对象数组对象指针动态生成对象作业
对象数组、对象指针和动态生成对象1.编写程序完成如下步骤:⑴定义一个类Candidate代表候选人,该类应封装的数据成员有候选人编号(intnum,从1开始递增)、得选票数(intcount)和函数成员show显示该获选人的编号和得票数、函数成员sum为给定获选人累加选票,即每次调用该函数,对应的得票数加1。⑵编写一个独立函数Intput,函数的参数为Candidate类对象数组。函数的功能是:⑶假设侯选人数的10,利用前两步中已编代码,编写main函数,在其中调用Input函数完成写入候选人信息,再显示所有获选人的编号和得票数。#includestdafx.h#includeiostream.h#includeiomanip.hconstNUM=10;classCandidate{private:intnum;intcount;public:Candidate(){}Candidate(intn,intc);voidsetNum(intn){num=n;}voidsetCount(intc){count=c;}voidshow();voidsum();~Candidate(){}};开始结束向数组填写所有获选人的编号信息模拟投票过程,获取每个候选人的得票数Candidate::Candidate(intn,intc){num=n;count=c;}voidCandidate::show(){cout候选人编号:numendl;cout候选人得票数:countendl;coutendl;}voidCandidate::sum(){count++;}voidmain(){Candidatecandidate[NUM];inti;for(i=0;iNUM;i++){candidate[i].setNum(i+1);candidate[i].setCount(0);}intflag;while(flag!=0){intt;cout请输入你要支持的人的编号:;cint;coutendl;if(t==0)flag=0;if(t0&&t=10)candidate[t-1].sum();if(t0||t10){cout无此编号!请重新输入endl;coutendl;}}for(i=0;iNUM;i++){candidate[i].show();}}2.使用Candidate类对象指针数组重新编写1题程序。#includestdafx.h#includeiostream.h#includeiomanip.hconstNUM=10;classCandidate{private:intnum;intcount;public:Candidate(){}Candidate(intn,intc);voidsetNum(intn){num=n;}voidsetCount(intc){count=c;}voidshow();voidsum();~Candidate(){}};Candidate::Candidate(intn,intc){num=n;count=c;}voidCandidate::show(){cout候选人编号:numendl;cout候选人得票数:countendl;coutendl;}voidCandidate::sum(){count++;}voidmain(){Candidatecandidate[NUM];Candidate*p=NULL;inti;for(i=0,p=candidate;pcandidate+NUM;p++,i++){p-setNum(i+1);p-setCount(0);}intflag;while(flag!=0){intt;cout请输入你要支持的人的编号:;cint;coutendl;if(t==0)flag=0;if(t0&&t=10){p=candidate+(t-1);p-sum();}if(t0||t10){cout无此编号!请重新输入endl;coutendl;}}for(p=candidate;pcandidate+NUM;p++){p-show();}}3.假设侯选人的人数由用户键盘输入,利用动态生成对象数组的方式重新编写1题。#includestdafx.h#includeiostream.h#includeiomanip.hclassCandidate{private:intnum;intcount;public:Candidate(){}Candidate(intn,intc);voidsetNum(intn){num=n;}voidsetCount(intc){count=c;}voidshow();voidsum();~Candidate(){}};Candidate::Candidate(intn,intc){num=n;count=c;}voidCandidate::show(){cout候选人编号:numendl;cout候选人得票数:countendl;coutendl;}voidCandidate::sum(){count++;}classArrayOfCandidate{private:Candidate*candidate;intsize;public:ArrayOfCandidate(intn):size(n){candidate=newCandidate[n];}~ArrayOfCandidate(){coutDeleting...endl;delete[]candidate;}Candidate&element(intn){returncandidate[n];}};voidmain(){intn;cout请输入候选人数:endl;cinn;coutendl;ArrayOfCandidatecandidate(n);inti;for(i=0;in;i++){candidate.element(i).setNum(i+1);candidate.element(i).setCount(0);}intflag;while(flag!=0){intt;cout请输入你要支持的人的编号:;cint;coutendl;if(t==0)flag=0;if(t0&&t=n)candidate.element(t-1).sum();if(t0||tn){cout无此编号!请重新输入endl;coutendl;}}for(i=0;in;i++){candidate.element(i).show();}}
本文标题:C++对象数组对象指针动态生成对象作业
链接地址:https://www.777doc.com/doc-2901657 .html