学 号1207010103
天津城市建设学院
高级程序设计语言C++
实验报告
(实验名称) 实验九 自定义数据类型
学班成
生姓名 级 绩
余祥 计算机一班
指导教师(签字)
计算机与信息工程学院
2013年 6 月 23 日
实验九 自定义数据类型
一、实验目的和要求
1. 掌握结构体类型变量的定义和使用; 2. 掌握结构体类型数组的概念和应用; 3. 学习结构体类型数组的说明和使用方法;
二、实验内容和过程
1、定义一个结构体变量(包括年、月、日),编写程序,要求输入年、月、日,程序能计算并输出该日在本年中是第几天。注意闰年问题。
算法流程:
? 定义Date结构体类型 ? 定义Date结构体变量
? 输入数据
? 根据月份求出前几个月的天数之和(switch语句得到每个月的天数) ? 再累加本月的天数
? 特殊情况:根据年是否是闰年,若月对于2且是闰年 天数再加1; 考核知识点:
单个结构体的成员的引用
源程序:
#include
int main() { date time; int i,sum=0; cin>>time.year>>time.month>>time.day;
cout< sum+=30; else sum+=28; } sum=sum+time.day; if (time.month>2&&((time.year%4==0&&time.year0!=0)||time.year@0==0)) sum+=1; cout<<\本日是该年的\天\ return 0; } 运行结果: 体会: 2、有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课的总平均成绩,以及最高分的学生的成绩的数据(包括学号、姓名、3门课成绩、平均分)。 学生1 学生2 学生3 。。。。。 学号 姓名 课程1 课程2 课程3 平均分 算法流程: ? 定义Student结构体类型 struct Student{ int num; string name; double score[4]; }; ? 定义Student结构体变量数组,10个学生Student st[10] ? 通过循环输入每个学生的成绩,其中3门课的输入也要用到数组 ? 对每个学生的成绩做累计求和,然后求平均值,在求平均值的同时求最大值;最大 值比较得到,因为要把最高分的学生的成绩数据都要输出,此时,因为比较的是分数,所以,我们可以把最高分值的同学所在的数组的下标存储下来。 ? 最后输出所有学生的平均分,及最高分值学生的所有的信息。 源程序: #include int main() { student st[10]; int i; for(i=0;i<10;i++) { cin>>st[i].num>>st[i].name>>st[i].socre[0]>>st[i].socre[1]>>st[i].socre[2]; st[i].socre[3]=(st[i].socre[0]+st[i].socre[1]+st[i].socre[2])/3; } cout<<\ \学号 \姓名 \课程1 \课程2 \课程3 \平均分\ for (i=0;i<10;i++) cout<<\学生\ \ \ \ \ \ \ return 0; } 运行结果:
相关推荐: