基础课件-c习题与编程实践_第1页
基础课件-c习题与编程实践_第2页
基础课件-c习题与编程实践_第3页
基础课件-c习题与编程实践_第4页
基础课件-c习题与编程实践_第5页
免费预览已结束,剩余14页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

{intn;Sample(intfriendintadd(Sample&s1,Sampleintadd(Sample&s1,Sample{return}void{}解本题说明了函数的使用方法。add()是一个函数,它返回两个对象的n值之和。所以输出为:30注意:函数不是类的函classB;classA{inti;intA(intx){i=x;}class{inti;friendA;intA::set(B&b)//由于使用了类B的定义,故本函数的定义应放B定义之{return}void{ABb(2);}解本题说明类的使用方法。这里将类A设置为类B的类,因此,类A的所有成员函数均为类B的函数。通过调用a.set(b)将b对象的i值赋给a对象的i值。所以输出为有一个学生类student,包括学生、成绩,设计一个函数,比较两个学生成绩的高低,并求出最高分和最低{intdeg;student(charna[],int{}char*getname(){returnfriendintcompare(student&s1,student{return1;return0;elsereturn-}void{studentst[]={student("",78),student("",92),student("",62),student("",88)};inti,min=0,max=0;{}cout<<"输出结果cout<<"最高分:"<<ST[MAX].GETNAME()<cout<<"最低分}最低分者:有一个学生类student,包括学生、成绩,设计一个函数,输出成绩对应的等级:大于等于90:优;80~90:良;70~79:中;60!69:及格;小60:不及格。{intdeg;student(charna[],int{}friendvoidtrans(student&s){elseif(s.deg>=80)elseif(s.deg>=70)elseif(s.deg>=60)strcpy(s.level,"不及格}void}void{studentst[]={student("",78),student("",92),student("",62),student("",88)};cout<<SETW(10)<<""<<SETW(6)<<"成绩"<<SETW(8)<<"等级for(int{}}本程序执行结果如下输出结果78中92优62及格88良设计一个类Sample,它有两个私有成员A[]和n(A中元素个数),将对A[]中数据进行各种排序的函数放入到一个process中。 getdata(Sample&s);用于获取对象s的数据insertsort(Sample&s);用于进行排序ssort(Sample&s);用于进行排序bubblesort(Sample&s);用于进行冒泡排序quicksort(Sample&s);用于进行快速排序selectsort(Sample&s);用于进行选择排序disp(Sample&s);用于输出数据本题程序如下classSample{intn;class{voidqsort(Sample&s,intl,intvoidgetdata(Sample&s);voidinsertsort(Sample&s);voidssort(Sample&s);voidquicksort(Sample&s);voidselectsort(Sample&s);voiddisp(Sample&s);{int{}}voidprocess::insertsort(Sample&s)//排{{{j];j--}}}voidprocess::ssort(Sample&s)//排{{{{}else}}}voidprocess::bubblesort(Sample&s冒泡排{{s.A[j-}}voidprocess::quicksort(Sample&s)快速排{qsort(s,0,s.n-}voidprocess::qsort(Sample&s,intl,int{{j];i++;}{i];j--}qsort(s,l,j-}}voidprocess::selectsort(Sample&s选择排{{}}voidprocess::disp(Sample{for(inti=0;icout<<"0:排序1:排序2:冒泡排序3:快速排序4:选择排序其它退出"<{case0:casep.scasecasecase}}原来序16534820:排序1:排序2:冒泡排序3:快速排序4:选择排序其它退出选择排序方法:1123456781.分析以下程序的执行结果class{intn;Sample(intfriendvoidsquare(Sample{}void{}void{}解本题应元函数修改对象的数据成员。square()是一个函数,它将对象的n值进行平方计算。class{inti;voidclass{voidset(int{Aa.i=n;//i是对象a的私有数据成员,在类可以使a.disp();//disp()是对象a的私有成员函数,在类可以使}void{Bb;}解本题说明类的设计方法。这里将类B设置为类A的类,因此,在设计类B时可以直接使用类A的私有数据成所以输出为class{student(charfriendvoidprint(student&,teacherclass{teacher(charfriendvoidprint(student&,teachervoidprint(student&a,teacher{cout<<"theteacher}void{students("LiHu");}解student和teacher类共用一个函数的实现所以输出为thestudentisLitheteacherisWan题4.有一个学生类student,包括学生、成绩,设计一个类,输出成绩大于等于80分以上者。学生类student的disp()函数设计函数。{intdeg;student(charna[],int{}friendvoiddisp(student&s){}void{studentst[]={student("",78),student("",92),student("",62),student("",88)};cout<<SETW(10)<<""<<SETW(6)<<"成绩}绩9288本题程序如下{voiddisp()}friendVectoradd(Vector&v1,Vector{Vectorv;returnv;}friendVectorsub(Vector&v1,Vector{Vectorv;v.x=v1.x-returnv;}void{Vectorcout<<"=";v3.disp();cout<cout<<"=";v3.disp();cout<}(10,20)-{Point(inti,intfriendfloatdistance(Point&p1,Point&p2);voiddisp()}floatdistance(Point&p1,Point&p2)//函数的实{floatreturnd;}void{Pointp1.disp();cout<<"与";cout<<"之间距离}本程序执行结果如下(2,2)与(5,5)之间距离题7.设计一个日期类Date,包括日期的年份、月份和日号,编写一个函数,求两个日期之间相差的天数。解有3个;countday(函数,它有两个参数,第2个参数是一个标志,当其值等于1时,计算一年的开始到某日期的天数;否则计算某日期到年尾的天数。leap()函数用于判断指定的年份是否为闰年。ubs()函数用于计算两个日期之间的天数。class{intyear;intday;{}void{}friendintleap(intyear);friendintsubs(Date&d1,Dateintcount_day(Date&d,int{staticint//使用二维数组存放各月天数,第一行对应非闰年,第二行对应闰intp,i,s;{s+=day_tab[p][i-}{for(i=d.month+1;i<=12;i++)}return}intleap(int{if(year%4==0&&year%100!=0||year%400==0)//returnelse//不是闰return}intsubs(Date&d1,Date{{for(y=d1.year+1;y}else{}return}void{Dateintds=subs(d1,d2);{d1.disp();printf("与天}printf("时间错误!}2000.1.12002.10.1之间有1002题8.编写一个程序,设计一个Point类,包括学号、和成绩等私有数据成员,不含任何成员函数,只将main()设置解{intintdeg;friendvoidvoid{cout<<"学生"<<OBJ.NAME<<"(学号"<<OBJ.NO<<")成绩为}输入学号:10:输出结学生Zhengming(学号10)成绩为将原student类中的disp()成员函数和trans()函数作为类process的成员函数。其执行结果与第4题的结果完全class{intdeg;charfriendclassprocess;//说明student(charna[],int{}class{voidtrans(student{elseif(s.deg>=80)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论