C++上机实验报告(自定义数据类型amp;amp;类和对象Ⅰ).doc
文本预览下载声明
C++上机实验报告自定义数据类型amp;amp;类和对象Ⅰ
C++上机实验报告
实验名称:
专业班级:
姓 名:
学 号:
实验日期:类和对象自定义数据类型目录
1. 实验目的
2. 实验内容
3. 程序代码
4. 调试结果
5. 实验心得
1.实验目的 实验7
(1) 掌握结构体类型变量的定义和使用; (2) 掌握结构体类型组的概念和应用;
(3) 了解链表的概念,初步学会对简单链表进行操作。 实验8
(1) 掌握声明类的方法,类和类的成员的概念以及定义对象的方法; (2) 初步掌握用类和对象编制基于对象的程序; (3) 学习检查和调试基于对象的程序。
2.实验内容 实验7
编程序,然后上机调试。
(1) 定义一个结构体变量(包括年,月,日),编程序,要求输入
年,月,日, 程序能计算并输出该日在本年中是第几天。注意闰年问题。
(2) 编写一个函数print,打印一个学生的成绩数组,该数组中有5
个学生的数据,每个学生的数据包括num(学号),name(姓名),score[3](3门课的成绩)。用主函数输入这些数据,用print函数输出这些数据。
(3) 有10个学生,每个学生的数据包括学号,姓名,3门课的成绩,
从键盘输入10个学生的数据,要求打印出3门课总平均成绩,
以及最高分的学生的数据(包括学号,姓名3门课的成绩,平均分数)。
要求用一个cin语句输入10个学生数据;用一个average函数求总平均分;用max函数找出最高分学生数据;总平均分和最高分的学生的数据都在主程序中输出。
(4) 建立单向动态链表,并对它 ,删除和输出等操作。包括以下
任务:
Ⅰ.写一个函数creat,用来建立一个动态链表。各结点的数据有键盘输入。
Ⅱ.写一个函数print,将上题建立的链表中各结点的数据依次输出。
Ⅲ.写一个函数del,用来删除动态链表中一个指定的结点(由实参指定某一学号,表示要删除该学生结点)。
Ⅳ.写一个函数insert,用来向动态链表插入一个结点。 Ⅴ.将以上4个函数组成一个程序,由主程序先后调用这些函数,实现链表的建立,输出,删除和插入,在主程序中指定需要删除和插入的结点。 实验8
(1) 有以下程序:
#include using namespace std;
class Time//定义Time类
public://数据成员为公用的 int hour; int minute; int sec; ;
int main
Time t1;//定义t1为Time类对象 cint1.hour;//输入设定的时间 cint1.minute; cint1.sec;
coutt1.hour:t1.minute:t1.secendl;//输出时间
return 0;
改写程序,要求:
Ⅰ.将数据成员改为私有的;
Ⅱ.将输入和输出的功能改为由成员函数实现; Ⅲ.在类体内定义成员函数。 然后编译和运行程序。 (2) 分别给出如下的3 个文件:
Ⅰ.含类定义的头文件student.h
//student.h(这是头文件,在此文件中进行类的声明)
class Student//类声明 public:void display;//公用成员函数原型声明 private: int num; char name[20]; char sex; ;
Ⅱ.包含成员函数定义的源文件student.cpp
//student.cpp在此文件中进行函数的定义 #include
#includestudent.h//不要漏写此行,否则编译通不过
void Student::display//在类外定义display类函数
coutnum:numendl; coutname:nameendl; coutsex:sexendl;
Ⅲ.包含主函数的源文件main.cpp
//mian.cpp主函数模块 #include
#includestudent.h//将类声明头文件包含进来 int main
Student stud;//定义对象
stud.display;//执行stud对象的display函数
return 0;
请完善该程序,在类中增加一个对数据成员赋初值的成员函数set_value,上机调试并运行。
(3) 需要求3个长方柱的体积,请编一个基于对象的程序。数据成
员length(长),width(宽),height(高)。要求用成员函数实现以下功能:
Ⅰ.由键盘分别输入3个长方柱的长,宽,高; Ⅰ.计算长方柱的体积; Ⅲ.输出3个长方柱的体积。 请编写程序,上机调试并运行。3.程序代码 实验
显示全部