ImageVerifierCode 换一换
格式:DOCX , 页数:144 ,大小:52.93KB ,
资源ID:10032389      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10032389.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++面向对象程序设计习题集.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

C++面向对象程序设计习题集.docx

1、C+面向对象程序设计习题集C+面向对象程序设计习题集编程题:用面向对象的程序设计方法编制如下程序。设计一个Bank类,实现银行某账号的资金往来账管理,包括建账号、存入、取出等。Bank类包括私有数据成员top(当前指针)、date(日期)、money(金额)、rest(余额)和sum(累计余额)。另有一个构造函数和3个成员函数bankinO(处理存入账)、bankout()(处理取出账)和disp( )(出明细账)。【知识点】:2.2 2.3【参考分】:25分【难易度】:B【答案】:#include #include #include const int Max=100;class Bank

2、int top; char dateMax10;/日期 int moneyMax;/金额 int restMax;/余额 static int sum;/累计余额public: Bank()top=0;void bankin(char d ,int m) strcpy(datetop,d); moneytop=m; sum=sum+m; resttop=sum; top+;void bankout(char d,int m) strcpy(datetop,d); moneytop=-m; /取出数用负数表示 sum=sum-m; resttop=sum; top+;void disp() in

3、t i; cout日期 存入 取出余额endl; for(i=0;itop;i+) coutsetw(10)datei; if(moneyi0) coutsetw(6)-moneyi; else coutsetw(6)moneyi ; coutsetw(6)restiendl;int Bank:sum=0;void main() Bank obj; obj.bankin(2005.2.5.1000); obj.bankin(2006.3.2,2000); obj.bankout(2007.4.1,500); obj.bankout(2007.10.5,800); obj.disp();编写一个

4、程序,已有若干个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。【知识点】:2.2 2.3【参考分】:20分【难易度】:B【答案】: #include #include #include class Stud int no; char name10; int deg; static int sum; static int num; public: Stud(int n,char na,int d) no=n;deg=d; strcpy(name,na); sum+=d; num+; static double avg() return sum/num; void disp()

5、 coutsetw(5)nOsetw(8)namesetw(6)degendl; ; int Stud:sum=0j int Stud:num=O; void main() Stud s1(1,Li,89),s2(2,Chert,78),s3(3,zheng,94); cout:学号 姓名 成绩endl; s1.disp(); s2.disp(); s3.disp();cout平均分=Stud:avg()endl;有10个单词存放在一维指针数组words中,编写一个程序,根据用户的输入找出所有与之从前向后匹配的单词和个数。【知识点】:2.2【参考分】:25分【难易度】:B【答案】:设计一个Wo

6、rd类,包含一个私有数据成员words、一个构造函数和一个公有成员函数lookup(),构造函数用于给words赋初值,lookup()用于找出所有与之从前向后匹配的单词和个数。程序如下:#include#includeC1ass Word char words1012;public: Word() /构造函数给words赋初值strcpy(words0,elapse);strcpy(words1,elucidate);strcpy(words2,elude);strcpy(words3,embody);strcpy(words4,embrace);strcpy(words5,embroide

7、r);strcpy(words6,emrtge);strcpy(words7,emphasize);strcpy(words8,empower);strcpy(words9,emulate); void lookup(char s );void Word:lookup(char s ) char *w; int i,j,n=0; /n记录相匹配的单词个数 cout匹配的单词:endl; for(i=0;i10;i+) /一个单词一个单词地匹配 for(w=wordsi,j=0;sj!=0&*w!=0&*w=sj; j+,w+); if(sj=0) /匹配成功 n+; couttwordsi e

8、ndl; cout相匹配的单词个数:nendl;void main() Word obj; char str20; coutstr;obj.lookup(str); 创建一个Employee类,该类中有字符数组,表示姓名、街道地址、市、省和邮政编码。把表示构造函数、changenameO、display()的函数原型放在类定义中,构造函数初始化每个成员,display()数把完整的对象数据打印出来。其中的数据成员是保护的,函数是公共的。【知识点】:2.2 2.3 3.1【参考分】:20分【难易度】:B【答案】:#include#includeclass Employeeprotected: c

9、har name10; /姓名 char street20; /街道地址 char city10; /市 char prov10; /省 char post7; /邮政编码 int no; /记录序号public: Employee(char,char,char,char,char,int); void changename(char str); void display();Employee:Employee(char n,char s,char c,char pl,char p2,int num) strcpy(name,n); strcpy(Street,s); strcpy(city,

10、c); Strcpy(prov,p1); strcpy(post,p2); no=num;void Employee:changename(char n) strcpy(name,n);void Employee:display() cout输出记录noendl; cout姓名:nameendl; cout街道地址:streetendl; cout市:cityendlj tout省:provendl; cout邮政编码:postendl;void main()Employee obj1(王华,中华路15号,武汉市,湖北省,430070,1);Employee obj2(杨丽,天津路30号,南京

11、市,江苏省,210020,2);obj1.display();obj2.display();编写一个程序,已有若干个学生数据,这些数据包括学号、姓名、语文成绩、数学成绩和英语成绩,求各门课程的平均分。要求设计不同的成员函数求各门课程的平均分,并使用成员函数指针调用它们。【知识点】:2.2 2.3 3.1【参考分】:20分【难易度】:C【答案】:设计一个学生类student,包括no(学号)、name(姓名)、degl(语文成绩)、deg2(数学成绩)、deg3(英语成绩)数据成员和3个静态数据成员suml(累计语文总分)、sum2(累计数学总分)、sum3(累计英语总分);另外有一个构造函数、

12、3个求三门课程平均分的成员函数和一个disp( )成员函数。程序如下:#include#include#includeconst int N=4;class student int no;/学号 char name10;/姓名 int degl;/语文成绩 int deg2;/数学成绩 int deg3;/英语成绩 static int suml;/语文总分 statac int sum2;/数学总分 static int sum3;/英语总分public:student(int n,char na,int dl,int d2,int d3) no=n; strcpy(name,na); de

13、gl=dl;deg2=d2;deg3=d3; suml+=degl;sum2+=deg2;sum3+=deg3;double avgl()return(suml*1.0)/N;double avg2()return(sum2*1.0)/N;double avg3()return(sum3*1.0)/N;void disp() coutsetw(4)nosetw(10)namesetw(6)deglsetw(6) deg2setw(6)deg3endl; ;int student:suml=0;int student:sum2=0;int student:sum3=0;void main()do

14、uble (student:*fp)(); /定义成员函数指针student s1(1,Li,67,89,90);student s2(2,Na,67,89,90);student s3(3,Zheng,67,89,90);student s4(4,Chert,67,89,90);cout输出结果endl;cout学号 姓名 语文数学英语endl;s1.disp();S2.disp();S3.disp();S4.disp();fp=student:avgl;cout语文平均分:(S1.*fP)()endl;fp=student:avg2;cout数学平均分:(S1.*fp)()endl;fp=

15、student:avg3;cout英语平均分:(S1.*fP)()endl; 编写一个程序,输入N个学生数据,包括学号、姓名、成绩,要求只输出成绩在8089分数段的学生数据。【知识点】:2.2 2.3【参考分】:20分【难易度】:B【答案】:设计一个学生类Stud,包括no(学号)、name(姓名)和deg(成绩)数据成员,另有两个普通成员函数setdata()和disp(),前者用于设置对象数据,后者用于只输出成绩在8089分数段的学生数据。在main()函数中定义了一个对象数组用于存储输入的学生数据。程序如下:#include#include#includeconst int N=3;cl

16、ass Stud int no; char name10; int deg;publiC: void setdata(int n,char na,int d) no=n;deg=d; strcpy(name,na); void disp() if(deg=80°=89) coutsetw(5)nosetw(8)namesetw(5)degendl; ;void main() Stud stN; int i,n,d; char na10; cout输入学号姓名成绩endl; for(i=0;iN;i+) cout第i+lnnad; Sti.Setdata(n,na,d);cout输出数据e

17、ndl;cout学号 姓名 成绩endl;for(i=0;iN;i+)sti.disp( );编写一个程序统计学生成绩,其功能包括输入学生的姓名和成绩,按成绩从高到低排列打印输出,对前70的学生定为合格(PASS),而后30的学生定为不及格(FAIL)。【知识点】:2.2 2.3 3.1【参考分】:40分【难易度】:A【答案】:设计一个类student,包含学生的姓名和成绩等数据,以及setname()、setdeg()、getname()和 getdeg()等4个成员函数。设计一个类compute,包含两个私有数据成员,即学生人数ns和student类的对象数组na,另有3个公共成员函数ge

18、tdata( )、sort( )、disp( ),它们的功能分别用于数据获取、按成绩排序和输出数据。程序如下:#include#include#includeconst int Max=10;class student char name10; int deg;public: void setname(char na)strcpy(name,na); char *getname()return name; void setdeg(int d)deg=d; int getdeg()return deg;class compute int ns; student naMax;public: voi

19、d getdata(); void sort(); void disp();void compute:getdata() int i,tdeg; char tname10; coutns; cout输入学生姓名和成绩:endl; for(i=O;ins;i+) cout第i+ltnametdeg; nai.setname(tname); mei.setdeg(tdeg); void compute:sort() int i,j,pick; student temp; for(i=0;ins-1;i+) pick=i; for(j=i+1;jnapick.getdeg() pick=j; tem

20、p=nai; nai=napick; napick=temp; void compute:disp() int cutoff,i; cout输出结果endl; cout 姓名 成绩合格否endl; cout” - - -”endl; cutoff=ns*7/10-1; for(i=0;ins;i+) coutsetw(8)naigetname()setw(5)nai.getdeg(); if(i=cutoff) coutPASSendl; else coutFAILendl; void main() compute obj; obj.getdata(); obj.sort(); obj.dis

21、p()编写一个程序,输入用户的姓名和电话号码,按姓名的词典顺序排列后,输出用户的姓名和电话号码。【知识点】:2.2 2.3 3.1【参考分】:40分【难易度】:B【答案】:设计一个类person,包含学生的姓名和电话号码等数据,以及semame()、setnum()、gemame()和gemum()等4个成员函数。设计一个类compute,包含一个私有数据成员,即person类的对象数组pn,另有3个公共成员函数getdata()、sort()、disp(),它们的功能分别用于数据获取、按姓名的词典顺序排序和输出数据。程序如下:#include#include#includeconst int

22、 N=5; class person char name10; char num10;public: void setname(char na)strcpy(name,na); void setnum(char nu)strcpy(num,nu);) char *getname()return name; char *getnum()return num;);class compute person pnN;public: void getdata(); void getsort(); void outdata();void compute:getdata() int i; char na10

23、,nu10; cout输入姓名和电话号码endl; for (i=0; iN; i+) cout 第i+1nanu; pni.setname(na); pni.setnum(nu); void compute:getsort() int i,j,k; person temp; for(i=0;iN-1;i+) k=i; for(j=i+1;j0) k=j; temp=pnk; pnk=pni; pni=temp; void compute:outdata() int i; cout输出结果:endl; cout 姓名 电话号码endl; cout - - endl; for(i=0;iN;i+

24、) coutsetw(11) pni.getname() setw(8) pni.getnum()endl;void main() compute obj; obj.getdata(); obj.getsort(); obj.outdata();编写一个程序,输入n个学生的姓名和出生日期,并按年龄从大到小输出。【知识点】:2.2 2.3 3.1【参考分】:40分【难易度】:A【答案】:设计一个结构体person,包含学生的姓名和出生日期等数据:设计一个类compute,包含私有数据成员,即person结构体数组st,另有3个私有成员函数daynum()、count day()、leap()和3

25、个公共成员函数getdam()、sort()、disp(),它们的功能分别用于数据获取、按出生日期排序和输出数据,在实现过程中调用前面的3个私有成员函数。sort()成员函数按结构体数组元素的d成员排序,d存放的是该学生从1900年1月l日到出生日期的天数。程序如下:#include #include const int N=4;int count day(int,int,int,int);int leap(int);struct person char name10; struct dates int year; int month; int day; date; int d; /从190011到出生日的天数;class compute struct person stN; int daynum(int,int,int,int,int,int); int count_day(int,int,int,int); bool leap(int);public: void getdata(); void sort(); void disp();int co

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2