2022年C++作业.pdf
C+ 作业实验报告课程名称面向对象程序设计专业班级姓名学号计算机技术与工程学院与谐勤奋求就是创新实验教学考核与成绩评定办法1课内实验考核成绩,严格按照该课程教学大纲中明确规定的比重执行。实验成绩不合格者 ,不能参加课程考试,待补做合格后方能参加考试。2单独设立的实验课考核按百分制评分,考核内容应包括基本理论、实验原理与实验。3实验考核内容包括:1)实验预习 ;2)实验过程 (包括实验操作、 实验记录与实验态度、表现);3)实验报告 ;权重分别为0、2 、0、4 、 0、 4;原则上根据上述三个方面进行综合评定。学生未取得1)与 2)项成绩时 ,第 3)项成绩无效。4实验指导教师应严格按照考核内容分项给出评定成绩,并及时批改实验报告,给出综合成绩 ,反馈实验中出现的问题。实验成绩在教师手册中有记载。实验报告主要内容一. 实验目的二. 实验仪器及设备三. 实验原理四. 实验步骤五. 实验记录及原始记录精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 24 页 - - - - - - - - - - C+ 作业六. 数据处理及结论七. 实验体会 (可选项 ) 注:1、为了节省纸张 ,保护环境 ,便于保管实验报告,统一采用A4 纸,实验报告建议双面打印(正文采用宋体五号字 )或手写 ,右侧装订。2、实验类别指验证、演示、综合、设计、创新(研究 )、操作六种类型实验。3、 验证性实验 :就是指为了使学生巩固课程基本理论知识而开设的强调演示与证明,注重实验结果 (事实、概念或理论 )的实验。4、 综合性实验 :就是指实验内容涉及本课程的综合知识或本课程相关的课程知识的实验。5、 设计性实验 :就是指给定实验目的、要求与实验条件,由学生自行设计实验方案并加以实现的实验。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 24 页 - - - - - - - - - - C+ 作业实验题目实验四类与对象的编程实验室机房实验时间2015 年月日实验类别验证同组人数1 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 24 页 - - - - - - - - - - C+ 作业成绩指导教师签字 : 一、实验目的1.掌握类与对象的定义,类与类成员的概念及对象的使用方法。2.学习类与对象的声明。3.学习数据成员与成员函数的访问方式。4.初步掌握用类与对象编制基于对象的程序。二、实验内容1 修改一个类 ,注意其中的成员访问权限,进行对比。有以下程序 : #include class Time public: int hour; int minute; int sec; ; void main() Time t1; cint1 、hour; cint1 、minute; cint1 、sec; coutt1 、hour “ ;” t1、minute “ ;” t1、secendl; 改写程序 ,要求: 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 24 页 - - - - - - - - - - C+ 作业1)将数据成员改为私有的; 2)将输入与输出的功能改为由成员函数实现; 3)在类体内定义成员函数。#include class Time private: float hour; float minute; float sec; public: void SetTime(float x,float y,float z); void ShowTime(); ; void Time:SetTime(float x, float y,float z) hour=x; minute=y; sec=z; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 24 页 - - - - - - - - - - C+ 作业inline void Time:ShowTime() couthour 、minute 、sec 、endl; int main() Time time1,time2,time3; couttime1 set and output:endl; time1、SetTime(00,45,00); time1、ShowTime(); couttime2 set and output:endl; time2、SetTime(01,03,00); time2、ShowTime(); couttime3 set and output:endl; time3、SetTime(05,06,12); time3、ShowTime(); return 0; 然后编译与运行程序。请分析什么成员应指定为公有的?什么成员应指定为私有的?什么函数最好放在类中定义?什么函数最好在类外定义?2、 求 3 个长方体的体积,请编一个基于对象的程序。数据成员包括length(长)、width( 宽)、height(高 ),要求用成员函数实现以下功能: 1)由键盘分别输入3 个长方体的长、宽、高; 2)计算长方体的体积; 3)输出3个长方体的体积。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 24 页 - - - - - - - - - - C+ 作业#include using namespace std; class cs private: int length; int width; int height; int s; public: void Setcs(); void Showcs(); void gh(); ; void cs:Setcs() cout 请输入三个数 lengthwidthheight; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 24 页 - - - - - - - - - - C+ 作业void cs:gh() s=length*width*height; inline void cs:Showcs() coutsendl; int main() cs cs1,cs2,cs3; cs1、Setcs(); cs1、gh(); cs1、Showcs(); cs2、Setcs(); cs2、gh(); cs2、Showcs(); cs3、Setcs(); cs3、gh(); cs3、Showcs(); return 0; 3.实现类的定义 ,借助 VC+ 的方法建立一个新的类,采用多文件的方法来存储程序文件。分别给出如下的3 个文件精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 24 页 - - - - - - - - - - C+ 作业1)含类定义的头文件student、h /student、h class Student /类的定义public: void display(); /公有成员函数的声明private: int num; char name20; char sex; ; 2)包含成员函数定义的源文件/student、cpp #include #include “ student、h”void Student:display() /在类外定义display 成员函数cout “ num:” numendl; cout“ name:” nameendl; cout“ sex:” sexendl; 3)包含主函数的源文件main、cpp 为了组成一个完整的源程序,应当有包括主函数的文件: /main、cpp #include #include “ student、h”精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 24 页 - - - - - - - - - - C+ 作业void main() Student stu; stu、display(); 请完善该程序 ,在类中增加一个对数据成员赋初值的成员函数set_value,上机调试并运行。三、实验步骤1、 运用学过的知识,实验前在纸上写出程序。2、 根据程序要求 ,先设计类 ,设计此类的数据成员及成员函数。3、 注意数据成员的类型,成员函数完成的功能。4、 在主函数中创建对象,通过对象调用哪些成员函数。5、 上机编辑、编译、调试与运行,并修改错误。四、实验报告1、 写出实验目的。2、 写出实验内容与程序清单。3、 在实验报告中写出实验内容第1 题答案。4、 说明对编程分析、运行结果、难点、解决方法与编程体会。实验题目实验五构造函数与析构函数的编程实验室机房实验时间2015 年月日实验类别验证同组人数1 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 24 页 - - - - - - - - - - C+ 作业成绩指导教师签字 : 一、实验目的1.进一步加深对类与对象的理解。2.掌握类的构造函数与析构函数的概念、意义与使用方法。3.掌握重载构造函数的含义与使用。4.编写一个较为复杂的类与对象的应用程序。二、实验内容1.设计一个程序 ,定义一个矩形类,包括数据成员与函数成员。要求有构造函数、析构函数,完成赋值、显示、计算矩形的面积等接口,并编写 main 函数进行测试。class Rect public: int Area_int(); Rect(int l, int w); Rect(); private: int nLength; int nWidth; ; 改动后 : #include using namespace std; class Rect private: 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 24 页 - - - - - - - - - - C+ 作业int Length; int Width; int Area; public: Rect(int A,int L,int W);/构造函数的声明Rect(); void SetRect(); void ShowRect(); ; void Rect:SetRect() int a,b,c; cout请输入长宽 ab; c=a*b; Area=c; Rect:Rect(int A,int L,int W) Length=A; Width=L; Area=W; coutconstructing 、 、 、endl; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 24 页 - - - - - - - - - - C+ 作业 void Rect:ShowRect() cout面积 :Area 、endl; Rect:Rect() coutdestructing 、 、 、endl; int main() Rect rect1(1,1,1); rect1、SetRect(); rect1、ShowRect(); return 0; 2.重载构造函数。修改上题,一种构造函数用整型变量记录矩形的长与宽,另一种构造函数用double 型记录矩形的长与宽,然后完成成员函数及主函数。Class Rect public: 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 24 页 - - - - - - - - - - C+ 作业int Area_int(); double Area_double(); Rect(double l, double w); Rect(int l, int w); Rect(); private: int nLength; int nWidth; double mLength; double mWidth; ; #include using namespace std; class Rect private: int nLength; int nWidth; int nArea; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 24 页 - - - - - - - - - - C+ 作业double mLength; double mWidth; double mArea; public: Rect();/ 构造函数的声明Rect(); void SetRect(int a,int b); void ShownRect(); void SetRect(double c,double d); void ShowmRect(); ; void Rect:SetRect(int a,int b) nLength=a; nWidth=b; nArea=a*b; void Rect:SetRect(double c,double d) mLength=c; mWidth=d; mArea=c*d; Rect:Rect()/定义构造函数 (储存空间 ) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 24 页 - - - - - - - - - - C+ 作业 coutconstructing 、 、 、endl; void Rect:ShownRect() cout 面积 :nArea、endl; void Rect:ShowmRect() cout 面积 :mArea、 endl; Rect:Rect()/ 析构函数 (释放储存空间 ) coutdestructing 、 、 、endl; int main() Rect rect1,rect2; int a,b,l; double c,d; cout 您想输入int 形请按 1 您想输入 double 形请按 2l; if(l=1) cout 请输入长宽 ab; rect1、SetRect(a,b); rect1、ShownRect(); else cout 请输入长宽 cd; rect2、SetRect(c,d); rect2、ShowmRect(); return 0; 2 构造一个类countstr,要求用构造函数设置计数器count 的初始值为0,成员函数 countchar()不返回任何值 ,它要求用户输入一段文字,按 Enter 键后结束计算,用 count 记录输入的字符数,成员函数getchar()返回 count 的整数值。3精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 24 页 - - - - - - - - - - C+ 作业1 # include 2class countstr 3 4private: 5int count; 6char a100; 7public: 8countstr() 9 10count=0; 11 12void countchar(); 13int getchar() 14 15return count; 16 17 ; 18 void countstr:countchar() 19 20coutenter the stringa; 22while(acount!=0) 23 24count+; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 24 页 - - - - - - - - - - C+ 作业25 26 27 int main() 28 29countstr c; 30c、countchar(); 31coutthe number=c 、getchar()endl; 32return 0; 33 三、实验步骤1、 运用学过的知识,实验前在纸上写出程序。2、 根据程序要求 ,先设计类 ,设计此类的数据成员及成员函数。3、 注意数据成员的类型,成员函数完成的功能,构造函数与析构函数完成的功能。4、 在主函数中创建对象,通过对象调用哪些成员函数。注意:创建对象时 ,构造函数就是怎样执行的程序结束时 ,释放对象时 ,析构函数就是怎样执行的。5、 上机编辑、编译、调试与运行,并修改错误。四、实验报告1、 写出实验目的。2、 写出实验内容与程序清单。3、 在实验报告中写出实验内容第1 题答案。4、 说明对编程分析、运行结果、难点、解决方法、结论与编程体会。实验题目实验六利用静态成员编程实验室机房实验时间2015 年月日精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 19 页,共 24 页 - - - - - - - - - - C+ 作业实验类别验证同组人数1 成绩指导教师签字 : 一、实验目的1.理解静态数据成员的作用,学会其定义与初始化。2.理解静态成员函数的使用,并通过它访问静态数据成员。3.学会静态成员的访问。二、实验内容1. 定义一个类Student 记录学生计算机课程的成绩, 要求使用静态成员变量或静态成员函数计算全班计算机课程的总成绩与平均成绩。2、 添加程序代码: #include #include class Person static int total; static int Max_number; pubilc: Person(); static void display() cout ”total=”totalendl; cout ”Max_number:”Max_numberend;l void pint_no() coutS_numberendl; private: char *name; int S_number; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 20 页,共 24 页 - - - - - - - - - - C+ 作业; Person:Person() 编写代码 , 实现数据成员初始化, 并实现员工编号( 从 1000 开始 ) int Person:total=0; int Person:Max_number=0; void main() Person p1,p2,p3,p4; Person:display(); p4、display(); p3、print_no(); #include using namespace std; class Student private: float score; static float pingjunfen; static float Zongfen; public: 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 21 页,共 24 页 - - - - - - - - - - C+ 作业void SetScore(); void PutScore(); void jisuanZongfen(); void PutZongfen(); void Jisuanpingjunfen(); void PutPingjunfen(); ; void Student:SetScore() float x; cinx; score=x; void Student:PutScore() coutscoreends; void Student:jisuanZongfen() Zongfen=Zongfen+score; void Student:PutZongfen() coutZongfenendl; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 22 页,共 24 页 - - - - - - - - - - C+ 作业void Student:Jisuanpingjunfen() pingjunfen=Zongfen/5; void Student:PutPingjunfen() coutpingjunfenendl; float Student:pingjunfen=0; float Student:Zongfen=0; void main() Student a5; int i; cout 请输入 5 个成绩 :endl; for(i=0;i5;i+) ai 、SetScore(); ai、jisuanZongfen(); a4、Jisuanpingjunfen(); cout 您输入的 5个成绩为 :endl; for(i=0;i5;i+) ai、PutScore(); coutendl; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 23 页,共 24 页 - - - - - - - - - - C+ 作业cout 总分为 :endl; a4、PutZongfen(); cout 平均分为 :endl; a4、PutPingjunfen(); 三、实验步骤1、 运用学过的知识,实验前在纸上写出程序。2、 根据程序要求,先定义类 ,包括其数据成员(包括静态数据成员)与成员函数 (包括静态成员函数 )。3、 对静态数据成员初始化,通过静态成员函数访问静态数据成员。4、 在主函数中完成相应的功能。5、 上机编辑、编译、调试与运行,并修改错误。四、实验报告1、 写出实验目的。2、 写出实验内容与程序清单。3、 说明对编程分析、运行结果、难点、解决方法、结论与编程体会。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 24 页,共 24 页 - - - - - - - - - -