实验12综合实验二 【实验目的】 1. 学生通过分析和解决该实验,将课本上的理论知识和实际有机地结合起来,锻炼学 生分析、解决较复杂问题的能力,提高学生编写较复杂程序的能力。 2.进一步巩固循环、分支、函数等知识的应用,掌握使用结构体、文件等来组织和存 储复杂的数据。 【实验任务】 编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。每个学生的信息 包括:学号、姓名、性别、班级、3门课程的成绩。系统功能模块如图12.1所示。 主菜单 数据输入 数据修改 数据处理 数据输出 退出 排序 查询 统计 平均分 不及格 科目 图12.1.1学生信息管理系统功能模块图 1.主菜单设计 使用printf函数设计一个如下格式的主菜单: ★★★★★★★★★★★★★南★★★贵★贵★★★★★★★水南★贵高★★★青★★水★水水素南★★★★★水★水★★★来水★贵★水★水★★★来水★青★★贵贵★ 1:数据输入 2:数据修改 3:数据的处理 4:数据输出 5:退出 在主菜单程序中,应该能够根据输入的数字来执行相应的选项,即:输入1~4时执行菜 单对应选项内容,执行完相关内容返回显示主菜单:输入5时结束程序运行:输入1~5之外 的其它信息,提示输入错误。每一个菜单要完成的任务由下面的2~6依次给出。 -226-
实验 12 综合实验二 【实验目的】 1. 学生通过分析和解决该实验,将课本上的理论知识和实际有机地结合起来,锻炼学 生分析、解决较复杂问题的能力,提高学生编写较复杂程序的能力。 2. 进一步巩固循环、分支、函数等知识的应用,掌握使用结构体、文件等来组织和存 储复杂的数据。 【实验任务】 编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。每个学生的信息 包括:学号、姓名、性别、班级、3 门课程的成绩。系统功能模块如图 12.1 所示。 图 12.1.1 学生信息管理系统功能模块图 1.主菜单设计 使用 printf 函数设计一个如下格式的主菜单: **************************************************************************** 1:数据输入 2:数据修改 3:数据的处理 4:数据输出 5:退出 **************************************************************************** 在主菜单程序中,应该能够根据输入的数字来执行相应的选项,即:输入 1~4 时执行菜 单对应选项内容,执行完相关内容返回显示主菜单;输入 5 时结束程序运行;输入 1~5 之外 的其它信息,提示输入错误。每一个菜单要完成的任务由下面的 2~ 6 依次给出。 - 226 -
2.数据输入 编写一个函数完成学生信息的输入功能,当学号输入为0时结束信息输入。每个学生的 信息包括如下几个方面:学号、姓名、性别、班级、以及语文、数学、英语三门课程成绩。 数据输入运行结果示例如图12.2所示: a"C:\c-programming \Debug\zhsy2.exe" 回☒ 2:修改数据 3:处理数据 5:退出系统 请选择 需要进行的操作(15):1 输入第1个 生的字 号(输入结束):1g21 >:大半的2 学主的性别n 锁入第1个学车的语交成绩:88 第1 输入第 入2个¥鞋的季写(输入8结束):1B阳11 入 第2 个学主的姓名:zhaohai 入第 个学生的性别:f 入2个的语文成绩:56 入第 个学的数乎成绩:?8 >3人鹊琴薯款6结末o:1e2 请锁入第3个学车的姓名:1 inhai 个学主的性别: 。>人挂要表% 损入第3个生的数学成赛:64 第3 输入第 个学主的姓名:luoying 入 学座的性别:f 第4 、学主的班级:51 入第4个李年的语成绩:82 4个¥生的数辛赛:7 输 4 学牢的英语成绩:83 第5 连的学 (输入结束):0 图12.1.2数据输入运行结果 3.数据输出 编写一个函数完成学生信息的输出功能。要求该函数能够将学生的当前各项信息按照较 为整齐的格式输出。 数据输出运行结果示例如图123所示: .227-
2.数据输入 编写一个函数完成学生信息的输入功能,当学号输入为 0 时结束信息输入。每个学生的 信息包括如下几个方面:学号、姓名、性别、班级、以及语文、数学、英语三门课程成绩。 数据输入运行结果示例如图 12.2 所示: 图 12.1.2 数据输入运行结果 3.数据输出 编写一个函数完成学生信息的输出功能。要求该函数能够将学生的当前各项信息按照较 为整齐的格式输出。 数据输出运行结果示例如图 12.3 所示: - 227 -
c"C:\c-programming\Debug\zhsy2.exe" 回☒ 1:输入数据 2:修改数据 3:处理数据 4:输出数据 5:退出系缇 MMM-N-MH-N兴N兴HNNH兴NN兴NN关试NNNN兴HN兴N兴NN兴N兴NN兴兴 请选择需要进行的操作(15):4 学号 姓名 性别 班级 语文 数学 英语 1002681 lihong m 502 88.0 82.0 91.0 100101 zhaohai f 501 56.0 78.8 74.0 180202 linhai m 502 76.6 64.0 52.0 100102 luoying f 501 82.0 77.8 83.0 图12.13数据输出运行结果 4.数据修改 编写一个函数完成学生信息的修改功能。要求该函数能够以学号为查询关键字,将满足 查找条件的学生信息显示输出,并以菜单形式提供可供修改的项目,选择项目并完成修改: 如果无满足查找条件的记录,则提示“无该学号学生记录!”。 数据修改的运行结果示例如图12.4所示: "C:\c-programming\Debug\zhsy2.exe" 回☒ 1:输入数据 2:修改数据 3:处理数据 4:输出数据 5:退出系绿 请迭择画要进行的操作(15):2 德改信息的学生的学号,1阳gg1 NMKMNMMMMNKMMMMNKMNKNMKMNKMMMNNMMMMNMMKNKMMM 1:输入数据 2:修改数据 3:处理数据 4:湔出数据 5:退出系统 请迭择需要进行的操作<15):2 请输入需要修改信急的学生的学号:111 1.学是 2.姓名 3.性别 4.班级 5.语文成绩 6.数学成绩 ?.英语成绩 8.退出修改 请洗择需要修改的顶目(18):2 主的新姓名:zhaoxue 改后该主的 学 姓名 性别 班级 语文 数学 英语 100101 zhaoxue f 501 56.0 78.8 74.0 图12.1.4数据修改的运行结果 5.数据处理 编写一个函数完成学生信息的处理功能。数据处理:可以选择的处理方式为:排序、查 询、统计。其中: -228-
图 12.1.3 数据输出运行结果 4.数据修改 编写一个函数完成学生信息的修改功能。要求该函数能够以学号为查询关键字,将满足 查找条件的学生信息显示输出,并以菜单形式提供可供修改的项目,选择项目并完成修改; 如果无满足查找条件的记录,则提示“无该学号学生记录!”。 数据修改的运行结果示例如图 12.4 所示: 图 12.1.4 数据修改的运行结果 5.数据处理 编写一个函数完成学生信息的处理功能。数据处理:可以选择的处理方式为:排序、查 询、统计。其中: - 228 -
a)排序:按学号排序: b)查询:根据学号查询该学生的所有信息: c)统计:可以选择统计各学生的平均成绩或统计所有存在不及格科目的学生。 提示:可以将该模块分解成更小的几个子模块来实现。每个子模块通过定义不同的函数 来完成其功能。 数据处理中排序操作的运行结果示例如图12.5所示: Cx"C:\c-programming\Debug\zhsy2.exe" 回 1:输入数据 3:处理数据 4:输出数据 MMMMMMMHMHHHHMMMMMMMMMMMMMMMMMMMMMHHMHMKKKMM 请选择需要进行的操作(15):3 1:按学号排序 2:查询 3:统 4:返回主菜单 请选择具体的处理内容<13):1 排序后结 : 学号 姓名 性别 班级 语文 数学 英语 100101 zhaoxue f 501 56.0 78.0 74.0 100102 luoying f 501 82.0 77.0 83.0 100201 lihong 502 88.0 82.8 91.0 160202 linhai m 502 76.0 64.0 52.0 图12.1.5数据排序的运行结果 数据处理中查询操作的运行结果示例如图12.6所示: CK "C:\c-programming\Debug\zhsy2.exe" 回☒ 1:按学号排序 2:查询 3:统计 4:返回主菜单 ruununuuununununu 请选择具体的处理内容(13):2 青输入要查询的孪生的学号:162 完该学号学生记录1 1:按学号排序 2:查询 3:统计 4:返回主菜单 请选择具体的处理内容(13):2 请输入要查询的浮生的学号:122 学号 姓名 性别班级语文 数学 英语 100202 linhai 502 76.0 64.日 52.0 图12.1.6数据查询的运行结果 -229
a) 排序:按学号排序; b) 查询:根据学号查询该学生的所有信息; c) 统计:可以选择统计各学生的平均成绩或统计所有存在不及格科目的学生。 提示:可以将该模块分解成更小的几个子模块来实现。每个子模块通过定义不同的函数 来完成其功能。 数据处理中排序操作的运行结果示例如图 12.5 所示: 图 12.1.5 数据排序的运行结果 数据处理中查询操作的运行结果示例如图 12.6 所示: 图 12.1.6 数据查询的运行结果 - 229 -
数据处理中统计操作的运行结果示例如图127所示: "C:\c-programming\Debug\zhsy2.exe 回☒ 1:按学号排序 2:查询 3:统计 4:返回主菜单 请选择具体的处理内容(13):3 1:统计平均分 2:统计不及格学生信息 3:返回 请再选择具体的统计内容(13):1 孚生的平均成绣 姓名 均 100101 zhaoxue 69.3 100102 luoying 80.? 100201 lihong 87.0 100202 linhai 64.0 1:统计平均分 2:统计不及格学生信息3:返回 请再选择易体的统计内容<13):2 F: 姓名 性别 班级 语文 数学 英语 100101 zhaoxue f 501 56.0 78.0 74.0 100202 linhai n 502 76.0 64.0 52.0 1:统计平均分 2:统计不及格学生信息 3:返回 请再选择具体的统计内容(13):3 1:按学号排序 2:查询 3:统计 4:返回主菜单 请选择具体的处理内容(13):4 图12.1.7数据统计的运行结果 6.退出 当在主菜单中选择了5退出时,输出“谢谢使用!”,结束整个程序的运行。 退出程序运行结果示例如图12.8所示: cx "C:\c-programming\Debug\zhsy2.exe 可冈 兴兴兴其其其兴兴6托 1:输入数据 2:修改数据 3:处理数据 4:输出数据 5:退出系统 请选择需要进行的操作(15):5 谢谢使用! Press any key to continue y 图12.1.8退出程序的运行结果 -230-
数据处理中统计操作的运行结果示例如图 12.7 所示: 图 12.1.7 数据统计的运行结果 6.退出 当在主菜单中选择了 5 退出时,输出“谢谢使用!”,结束整个程序的运行。 退出程序运行结果示例如图 12.8 所示: 图 12.1.8 退出程序的运行结果 - 230 -