淮阴工学院c++实验报告实验八结构和链表.docVIP

  • 36
  • 0
  • 约6.89千字
  • 约 9页
  • 2019-08-31 发布于江西
  • 举报

淮阴工学院c++实验报告实验八结构和链表.doc

实验八 结构体与链表 一、实验目的和要求 1.掌握结构体类型、结构体变量的基本概念; 2.掌握结构体指针、结构体数组的应用; 3.掌握链表的基本概念; 4.掌握链表的基本操作与应用,包括建立链表、遍历链表、插入结点、删除结点、查找结点等。 二、相关知识点 1.结构体类型:定义:struct 结构类型名 { 数据类型 数据项1; 数据类型 数据项2; ……………………. 数据类型 数据项n; } 2.结构体变量: 1.定义: (1)间接定义法──先定义结构类型、再定义结构变量 struct 结构类型名 结构变量; (2)直接定义法──在定义结构类型的同时定义结构变量 struct 结构类型名 { ……… }结构变量表; 2.结构变量的初始化与引用: (1)如:struct std_info student={000102,张三,男,{1980,9,20}}; (2)结构变量的引用规则,对于结构变量,要通过成员运算符“.”,逐个访问其成员即结构变量.成员 3.结构体指针: (1)使用指向结构变量的指针来访问结构变量的各个成员。struct std_info *p_std=student (2)使用指向结构数组的指针来访问结构数组struct std_info *p_std=student; 4.结构体数组 结构数组的每一个元素,都是结构类型数据,均包含结构类型的所有成员。 struct std_info student[3]={{“000102”, “张三”,“男 {“000105”,“李四”,“男 {“000112”, “王五”,“女 }; 5.链表的基本操作与应用:(1)建立链表:创建静态链表,创建动态链表 (2)访问链表(3)插入结点(4)删除结点(5)查找结点(6)链表的释放。 三、实验内容 1.定义一个学生成绩结构体类型,包含“学号”、“姓名”、“性别”、“年龄”、“班级”、“英语”、“数学”、“物理”、“总分”、“名次”等信息。编写6个函数分别用于: 使用结构体数组,输入全班10名学生的上述信息; 计算每一个学生的总分、平均分; 计算每一门课程的平均分; 查找成绩有不及格的学生信息; 按学生成绩总分降序排序; 输出全班学生的学号、总分及名次。 思路分析: 先定义结构体,调用函数putinfor实现输入,调用函数sum_avg实现计算每一个学生的总分、平均分;调用函数course_avg实现计算每一门课程的平均分;调用函数findstu实现查找成绩有不及格的学生信息;调用函数sequence实现按学生成绩总分降序排序;调用函数display实现输出全班学生的学号、总分及名次。 (2)源代码: #include iostream.h #include stdio.h #define N 3 struct stu_score { char num[10]; char name[6]; char sex[2]; int age; char classes[4]; float english; float math; float physics; float sum; float avg; int mingci; }; void putinfor(stu_score score[]); void sum_avg(struct stu_score score[]); void course_avg(struct stu_score score[]); void findstu(struct stu_score score[]); void sequence(struct stu_score score[]); void display(struct stu_score score[]); void main() { struct stu_score stu[N]; putinfor(stu); sum_avg(stu); course_avg(stu); findstu(stu); sequence(stu);

文档评论(0)

1亿VIP精品文档

相关文档