您好,欢迎访问三七文档
实验项目一C++程序设计初步题目在VisualStudio2008平台上,用C++语言创建一个控制台应用程序,当其运行时在屏幕上显示“Hello,World!”(参考P15)实验项目二类与对象(1)有以下程序:#includeiostreamusingnamespacestd;classTime//定义Time类{public://数据成员为公用的inthour;intminute;intsec;};intmain(){Timet1;//定义t1为Time类对象cint1.hour;//输入设定的时间cint1.minute;cint1.sec;coutt1.hour“:”t1.minute“:”t1.secendl;//输出时间return0;}改写程序,要求:①将数据成员改为私有的;②将输入和输出的功能改为由成员函数实现;③在类体内定义成员函数。然后编译和运行程序。请分析什么成员应指定为公用的?什么成员应指定为私有的?什么函数最好放在类中定义?什么函数最好放在类外定义?代码:/实验_1.cpp:定义控制台应用程序的入口点。#includestdafx.h#includeiostreamusingnamespacestd;classTime//定义Time类{private://数据成员为私有的inthour;intminute;intsec;public:voidInput(){cout请输入时、分、秒:endl;cinhourminutesec;}voidprint(){cout时间为:endl;couthour:minute:secendl;}};int_tmain(intargc,_TCHAR*argv[]){Timet1;t1.Input();t1.print();return0;}结果:(2)修改实验1中的学生成绩管理系统,建立类OurClass,实现班级学生信息的输入,排序和输出。要求:添加构造函数,初始化班级名称,将成员函数定义在类外,类的定义单独放在头文件中。代码:头文件:#defineN3structStudent{longlNum;charsName[12];floatcGrade;floatccGrade;floatfGrade;};classOurClass{private:charcName[20];Studentstu[N];public:OurClass::OurClass();voidInput();voidprint();voidSort();};.cpp://学生成绩管理.cpp:定义控制台应用程序的入口点。#includestdafx.h#includeiostreamusingnamespacestd;#includestudent.hintmain(){OurClassc1;c1.Input();c1.Sort();coutendl排序结果为:endlendl;c1.print();return0;}OurClass::OurClass()//(charNme[20]){cout请输入班级名称:endl;cincName;}voidOurClass::Input(){inti;cout输入N个学生的学号、姓名和成绩endl;for(i=0;iN;i++){cinstu[i].lNumstu[i].sNamestu[i].cGradestu[i].ccGrade;stu[i].fGrade=stu[i].cGrade+stu[i].ccGrade;}}voidOurClass::Sort(){inti,j;StudentTemp;for(i=0;iN;i++){for(j=i+1;jN;j++){if(stu[i].fGradestu[j].fGrade){Temp=stu[i];stu[i]=stu[j];stu[j]=Temp;}}}}voidOurClass::print(){inti;cout班级名称:;coutcNameendl;cout学号姓名成绩endl;for(i=0;iN;i++)coutstu[i].lNumstu[i].sNamestu[i].fGradeendl;}结果:(3)需要求3个长方柱的体积(用对象数组完成),请编一个基于对象的程序。数据成员包括length(长)、width(宽)、height(高)。要求用成员函数实现以下功能:①由键盘分别输入3个长方柱的长、宽、高;②计算长方柱的体积;③输出3个长方柱的体积。请编程序,上机调试并运行。完成后,将其中的数组名当常量指针用。代码:头文件:classcube{private:doublelength;doublewidth;doubleheight;public:cube();voidinput();voidprint();doublevolume();};//求长方柱的体积.cpp:定义控制台应用程序的入口点。#includestdafx.h#includeiostreamusingnamespacestd;#includecube.hvoidcube::input(){doublelength;doublewidth;doubleheight;}cube::cube(){cout请输入长方柱的长、宽、高:endl;cinlengthwidthheight;}doublecube::volume(){returnlength*width*height;}voidcube::print(){cout长方柱的体积为:volume()endl;}intmain(){cubec[3];for(inti=0;i3;i++){c[i].input();(c+i)-print();}return0;}结果:(4)友元函数(1)有以下程序:#includeiostreamusingnamespacestd;classDate;//对Date类的提前引用声明classTime//定义Time类{public:Time(int,int,int);voiddisplay(Date&);//display是成员函数,形参是Date类对象的引用private:inthour;intminute;intsec;};classDate//声明Date类{public:Date(int,int,int);friendvoidTime∷display(Date&);//声明Time中的display函数为友元成员函数private:intmonth;intday;intyear;};Time∷Time(inth,intm,ints)//类Time的构造函数{hour=h;minute=m;sec=s;}voidTime∷display(Date&d)//display的作用是输出年、月、日和时、分、秒{coutd.month“/”d.day“/”d.yearendl;//引用Date类对象中的私有数据couthour“:”minute“:”secendl;//引用本类对象中的私有数据}Date∷Date(intm,intd,inty)//类Date的构造函数{month=m;day=d;year=y;}intmain(){Timet1(10,13,56);//定义Time类对象t1Dated1(12,25,2004);//定义Date类对象d1t1.display(d1);//调用t1中的display函数,实参是Date类对象d1return0;}请读者分析和运行此程序,注意友元函数Time::display的作用。将程序中的display函数不放在Time类中,而作为类外的普通函数,然后分别在Time和Date类中将display声明为友元函数。在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据,输出年、月、日和时、分、秒。修改后上机调试和运行。代码://实验_4.cpp:定义控制台应用程序的入口点。#includestdafx.h#includeiostreamusingnamespacestd;classDate;//对Date类的提前引用声明classTime//定义Time类{friendvoiddisplay(Date&,Time&);public:Time(int,int,int);//voiddisplay(Date&);//display是成员函数,形参是Date类对象的引用private:inthour;intminute;intsec;};classDate//声明Date类{public:Date(int,int,int);friendvoiddisplay(Date&,Time&);public:intmonth;intday;intyear;};Time::Time(inth,intm,ints)//类Time的构造函数{hour=h;minute=m;sec=s;}voiddisplay(Date&d,Time&t1)//display变为普通函数{coutd.month/d.day/d.yearendl;//引用Date类对象中的私有数据coutt1.hour:t1.minute:t1.secendl;}Date::Date(intm,intd,inty)//类Date的构造函数{month=m;day=d;year=y;}int_tmain(intargc,_TCHAR*argv[]){Timet1(10,13,56);//定义Time类对象t1Dated1(12,25,2004);//定义Date类对象d1display(d1,t1);return0;}结果:实验项目三函数重载(1)编写程序,实现普通函数重载练习。求三角型,矩形,圆形的面积和周长,其中面积函数和周长函数重载。代码:classZhc//Area.h{private:doublea,b,c;doubler;public:Zhc(doublea,doubleb,doublec);Zhc(doublea,doubleb);Zhc(doubler);};classArea//Area.h{private:doublea,b,c;doubler;public:Area(doublea,doubleb,doublec);Area(doublea,doubleb);Area(doubler);};//三角形等面积及周长.cpp:定义控制台应用程序的入口点。#includestdafx.h#includeiostreamusingnamespacestd;#includeArea.h#includeZhc.h#includemath.hint_tmain(intargc,_TCHAR*argv[]){doublea,b,c;doubler;cout请输入三角形的三条边a,b,c:endl;cinabc;cout三角形的面积为:sqrt((a+b+c)/2*((a+b+c)/2-a)*((a+b+c)/2-b)*((a+b+c)/2-c))endl;cout三角形的周长为:a+b+cendl;cout请输入矩形的两条边a,b:endl;cinab;cout矩形的面积为:a*bendl;cout矩形的周长为:2*(a+b)endl;cout请输入圆的半径:endl;cinr;cout圆的面积为:r*r*3.14endl;cout圆的周
本文标题:C++实验代码
链接地址:https://www.777doc.com/doc-7027945 .html