您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 实验二类和对象_参考答案
实验二类和对象(参考答案)班级:学号:姓名:成绩:一.实验目的1.理解面向对象程序设计的基本思想;2.掌握类和对象的概念、定义和使用方法。3.掌握不同特性对象成员的访问方法。二.使用的设备和仪器计算机+WindowsXP+VisualC++6.0三.实验内容及要求1、定义一个表示长方体类Cuboid,数据成员包括length(长)、width(宽)、height(高),成员函数包括长方体的输入、输出、计算体积和表面积等。在主函数中,定义3个长方体的对象,并调用成员函数完成其功能。2、定义一个学生类Student,数据成员包括学号、姓名、数学成绩、英语成绩和C++成绩,成员函数包括:输入学生的信息函数;输出学生的信息函数;设置学生的信息函数;计算学生的平均成绩的函数。在main函数中调用以上函数实现相应功能。3、定义一个图书类Book,在该类中包括以下数据成员和成员函数:数据成员:id(书号)、bookname(书名)、price(价格)、total(总存书数量)、number(当前剩余图书数量)成员函数:Input()——图书信息输入;Output()——图书信息输出;Borrow()——借阅图书,并显示当前剩余图书数量;Restore()——归还图书,并显示当前剩余图书数量。在主函数中,要求创建某种图书对象,并对该图书进行简单的输入、输出、借阅和归还管理。选择题:4、根据以下要求类的编写。1)定义一个日期类Date,数据成员包括年、月、日,成员函数包括:Input()——日期信息输入;Output()——日期信息输出;Set()——设置日期信息2)在第2题Student类中增加一个出生日期成员,使用Date类来定义。然后修改相应的成员函数,并增加一个成员函数GetAge,用来计算并返回学生的年龄。在主函数中定义对象,测试以上功能。四.实验步骤1、程序代码:#includeiostreamusingnamespacestd;classCuboid{public:voidInput();voidShow();floatVolume();floatArea();private:floatlength;floatwidth;floatheight;};voidCuboid::Input(){coutpleaseinputlength,width,height:;cinlengthwidthheight;}voidCuboid::Show(){coutlength=lengthwidth=widthheight=heightendl;}floatCuboid::Volume(){return(length*width*height);}floatCuboid::Area(){return(length*width+length*height+height*width)*2;}intmain(){CuboidCuboid1,Cuboid2;Cuboid1.Input();coutCuboid1Information:endl;Cuboid1.Show();coutVolmue=Cuboid1.Volume()endl;coutArea=Cuboid1.Area()endl;coutendl;Cuboid2.Input();coutCuboid2Information:endl;Cuboid2.Show();coutVolmue=Cuboid2.Volume()endl;coutArea=Cuboid2.Area()endl;coutendl;return0;}运行结果:2、程序代码://student.h学生信息的头文件#includeiostream#includestringusingnamespacestd;classStudent{public:voidInput_Stu();//输入学生信息函数voidShow_Stu();//输出学生信息函数voidSet(intn,stringnm,doublem,doublee,doublec);//设置学生信息函数doubleAve_Stu();//计算并返回学生平均成绩函数private:intnum;stringname;doublemath,english,cprogram;};//student.cpp学生信息的源文件#includestudent.hvoidStudent::Input_Stu(){cout请输入学生的学号、姓名、数学、英语、C++的成绩:endl;cinnumnamemathenglishcprogram;}voidStudent::Show_Stu(){cout********StudentInfo********endl;coutnum=numendl;coutname=nameendl;coutmath=mathendl;coutenglish=englishendl;coutcprogram=cprogramendl;}voidStudent::Set(intn,stringnm,doublem,doublee,doublec){num=n;name=nm;math=m;english=e;cprogram=c;}doubleStudent::Ave_Stu(){return(math+english+cprogram)/3;}//main.cpp主函数所对应的源文件#includestudent.hintmain(){Students1;s1.Input_Stu();s1.Show_Stu();coutAverageScore=s1.Ave_Stu()endl;coutendl;s1.Set(2001,Tom,70,80,90);s1.Show_Stu();coutendlAverageScore=s1.Ave_Stu()endl;coutendl;return0;}运行结果:3、程序代码:#includeiostream#includestringusingnamespacestd;classBook{public:voidInput();//图书信息输入;voidOutput();//图书信息输出;voidBorrow();//借阅图书,并显示当前剩余图书数量;voidRestore();//归还图书,并显示当前剩余图书数量。voidShowNumber();//显示剩余图书数量private:intid;stringbookname;doubleprice;inttotal;intnumber;};voidBook::Input(){while(1){cout请输入图书编号、名称、价格、总数量:endl;cinidbooknamepricetotal;if(price0||total0)cout价格或总数量不合法,请重新输入图书信息!endl;else{number=total;break;}}}voidBook::Output(){cout编号:idendl;cout名称:booknameendl;cout价格:priceendl;cout总数量:totalendl;cout剩余数量:numberendl;}voidBook::ShowNumber(){cout剩余数量:numberendl;}voidBook::Borrow(){if(number==0)cout图书剩余数量为0!请下次再来借阅。endl;else{number--;cout成功借阅出一本图书!endl;ShowNumber();}}voidBook::Restore(){number++;cout成功归还回一本图书!endl;ShowNumber();}intmain(){Bookbk1;bk1.Input();bk1.Output();coutendl;bk1.Borrow();bk1.Borrow();coutendl;bk1.Restore();coutendl;bk1.Output();coutendl;return0;}运行结果:4、程序代码:#includeiostream#includestring#includeiomanipusingnamespacestd;constintNOWYEAR=2015;//当前年份//****Date类*******classDate{private:intyear,month,day;public:voidInput();voidSet(int,int,int);voidShow();intGetYear();};voidDate::Input(){cinyearmonthday;}voidDate::Set(inty,intm,intd){year=y;month=m;day=d;}voidDate::Show(){coutyear年month月day日endl;}intDate::GetYear()//定义公有成员函数,获取私有成员的值{returnyear;}//****Student类*******classStudent{public:voidInput();//输入学生信息函数voidShow();//输出学生信息函数voidSet(intn,stringnm,doublem,doublee,doublec,intyy,intmm,intdd);//设置学生信息函数doubleAve_Stu();//计算并返回学生平均成绩函数intGetAge();//计算并返回学生年龄private:intnum;stringname;doublemath,english,cprogram;Datebirthday;//出生日期};voidStudent::Input(){cout请输入学生的学号、姓名、数学、英语、C++的成绩:endl;cinnumnamemathenglishcprogram;cout请输入出生日期(年、月、日):endl;birthday.Input();}voidStudent::Show(){cout********StudentInfo********endl;coutnum=numendl;coutname=nameendl;coutmath=mathendl;coutenglish=englishendl;coutcprogram=cprogramendl;coutbirthday=;birthday.Show();}voidStudent::Set(intn,stringnm,doublem,doublee,doublec,intyy,intmm,intdd){num=n;name=nm;math=m;english=e;cprogram=c;birthday.Set(yy,mm,dd);}doubleStudent::Ave_Stu(){return(math+english+cprogram)/3;}intStudent::GetAge(){returnNOWYEAR-birthday.GetYear()+1;}intmain(){Studentstu;stu.Input();stu.Show();coutendl课程平均成绩为:stu.Ave_Stu()endl;cout该学生
本文标题:实验二类和对象_参考答案
链接地址:https://www.777doc.com/doc-2458837 .html