### C1: 启动程序 命令行中执行命令./app,系统启动,显示提示信息,然后显示功能菜单,等待用户输入命令。 ``` Management for Students'scores 1 Input record 2 Calculate total and average score of every course 3 Calculate total and average score of every student 4 Sort in descending order by score 5 Sort in ascending order by score 6 Sort in ascending order by number 7 Sort in dictionary order by name 8 Search by number 9 Search by name 10 Statistic analysis 11 List record 12 Write to a file 13 Read from a file 0 Exit Please Input your choice: ``` ### C2: 显示命令菜单 调用 Menu() 函数显示命令菜单,用户输入选项后,将结果返回主函数 ``` Management for Students'scores 1 Input record 2 Calculate total and average score of every course 3 Calculate total and average score of every student 4 Sort in descending order by score 5 Sort in ascending order by score 6 Sort in ascending order by number 7 Sort in dictionary order by name 8 Search by number 9 Search by name 10 Statistic analysis 11 List record 12 Write to a file 13 Read from a file 0 Exit Please Input your choice: ``` ### C3: 退出程序 选择菜单命令 0 ,再输入 y 确认,则退出程序。 ``` Please Input your choice: 0 Are you sure you want to exit?(Y/N): y End of program! ``` ### C4: 添加学生信息 选择菜单命令 1 ,假设n=4,m=3,提示输入学生的学号,姓名和成绩,然后利用循环逐个输入学生的学号和姓名以及各科成绩。 ``` Please Input your choice: 1 Input student's ID, name and score: 2214111006 XuZilin 100 95 86 2214111009 XuZigui 77 89 99 2214111011 ZhangYu 85 91 98 2214111025 LiYujia 75 89 100 ``` ### C5: 计算学生各门课程总分和平均分 选择菜单命令 2 ,计算学生各门课程总分和平均分,然后利用循环逐个输出学生的顺序,总成绩和平均分,结果都取整数。 ``` Please Input your choice: 2 student 1: sum = 281, aver = 93 student 2: sum = 265, aver = 88 student 3: sum = 274, aver = 91 student 4: sum = 264, aver = 88 ``` ### C6: 计算每门课程的总分和平均分 选择菜单命令 3 ,计算每门课程的总分和平均分,然后利用循环逐个输出每门课程的总分和平均分,结果都取整数。 ``` Please Input your choice: 3 course 1: sum = 337, aver = 84 course 2: sum = 364, aver = 91 course 3: sum = 383, aver = 95 ``` ### C7: 学生总分排序 如果a < b,则按升序排列。选择菜单命令 4 ,按选择法将数组 sum 的元素值按升序进行排序,显示提示信息,最后打印出学生信息。 如果a > b,则按降序排序。选择菜单命令 5 ,按选择法将数组 sum 的元素值按降序进行排序,显示提示信息,最后打印出学生成绩。 ``` Please Input your choice: 4 Sort in descending order by score: 2214111006 XuZilin 100 95 86 281 93 2214111011 ZhangYu 85 91 98 274 91 2214111009 XuZigui 77 89 99 265 88 2214111025 LiYujia 75 89 100 264 88 Please Input your choice: 5 Sort in ascending order by score: 2214111025 LiYujia 75 89 100 264 88 2214111009 XuZigui 77 89 99 265 88 2214111011 ZhangYu 85 91 98 274 91 2214111006 XuZilin 100 95 86 281 93 ``` ### C8: 学号顺序排序 选择菜单命令 6 ,按学号从小到大进行排序,显示提示信息,最后打印学生信息。 ``` Please Input your choice: 6 Sort in ascending order by number: 2214111006 XuZilin 100 95 86 281 93 2214111009 XuZigui 77 89 99 265 88 2214111011 ZhangYu 85 91 98 274 91 2214111025 LiYujia 75 89 100 264 88 ``` ### C9: 姓名顺序排序 选择菜单命令 7 ,按姓名的字典顺序进行排序,显示提示信息,最后打印学生信息。 ``` Please Input your choice: 7 Sort in dictionary order by name: 2214111025 LiYujia 75 89 100 264 88 2214111009 XuZigui 77 89 99 265 88 2214111006 XuZilin 100 95 86 281 93 2214111011 ZhangYu 85 91 98 274 91 ``` ### C10: 学生信息查询 - 选择菜单命令 8 ,提示输入学生学号,若该学号存在,则输出学生信息;否则提示没有找到并结束。 ``` Please Input your choice: 8 Input the number you want to search:2214111011 2214111011 ZhangYu 85 91 98 274 91 1 Input record 2 Calculate total and average score of every course 3 Calculate total and average score of every student 4 Sort in descending order by score 5 Sort in ascending order by score 6 Sort in ascending order by number 7 Sort in dictionary order by name 8 Search by number 9 Search by name 10 Statistic analysis 11 List record 12 Write to a file 13 Read from a file 0 Exit Please Input your choice: 8 Input the number you want to search:2214111001 Not found! ``` - 选择菜单命令 9 ,提示输入学生姓名,若该姓名存在,则输出学生信息;否则提示没有找到并结束。 ``` Please Input your choice: 9 Input the name you want to search:LiYujia 2214111025 LiYujia 75 89 100 264 88 1 Input record 2 Calculate total and average score of every course 3 Calculate total and average score of every student 4 Sort in descending order by score 5 Sort in ascending order by score 6 Sort in ascending order by number 7 Sort in dictionary order by name 8 Search by number 9 Search by name 10 Statistic analysis 11 List record 12 Write to a file 13 Read from a file 0 Exit Please Input your choice: 9 Input the name you want to search:SunYizhe Not found! ``` ### C11: 统计各分数段学生人数及所占百分比 选择菜单命令 10,提示输入学生成绩,通过循环得出各分数段学生人数及所占百分比 ``` Please Input your choice: 10 For course 1: <60 0 0.00% 60-70 0 0.00% 70-80 2 50.00% 80-90 1 25.00% 90-100 0 0.00% 100 1 25.00% For course 2: <60 0 0.00% 60-70 0 0.00% 70-80 0 00.00% 80-90 2 50.00% 90-100 2 50.00% 100 0 0.00% For course 3: <60 0 0.00% 60-70 0 0.00% 70-80 0 0.00% 80-90 1 25.00% 90-100 2 50.00% 100 1 25.00% ``` ### C12: 打印学生信息 选择菜单命令11,打印 ``` Please Input your choice: 11 2214111006 XuZilin 100 95 86 281 93 2214111009 XuZigui 77 89 99 265 88 2214111011 ZhangYu 85 91 98 274 91 2214111025 LiYujia 75 89 100 264 88 ``` ### C13: 将学生信息保存在文件中 选择菜单命令 12 ,将学生信息保存在文件 student.txt 中。如果文件不存在,则给出错误信息并退出程序,否则逐个读入 ``` Please Input your choice: 12 Failure to open score.txt! 1 Input record 2 Calculate total and average score of every course 3 Calculate total and average score of every student 4 Sort in descending order by score 5 Sort in ascending order by score 6 Sort in ascending order by number 7 Sort in dictionary order by name 8 Search by number 9 Search by name 10 Statistic analysis 11 List record 12 Write to a file 13 Read from a file 0 Exit Please Input your choice: 12 2214111006 XuZilin 100 95 86 281 93 2214111009 XuZigui 77 89 99 265 88 2214111011 ZhangYu 85 91 98 274 91 2214111025 LiYujia 75 89 100 264 88 ``` ### 从文件中读取学生信息 选择菜单命令 13 ,从文件中读取学生的学号、姓名及成绩等信息写入到结构体数组 stu 中。如果文件为空,则给出错误信息并退出程序,反之,逐个读入 ``` Please Input your choice: 13 Failure to open score.txt! 1 Input record 2 Calculate total and average score of every course 3 Calculate total and average score of every student 4 Sort in descending order by score 5 Sort in ascending order by score 6 Sort in ascending order by number 7 Sort in dictionary order by name 8 Search by number 9 Search by name 10 Statistic analysis 11 List record 12 Write to a file 13 Read from a file 0 Exit Please Input your choice: 13 2214111006 XuZilin 100 95 86 281 93 2214111009 XuZigui 77 89 99 265 88 2214111011 ZhangYu 85 91 98 274 91 2214111025 LiYujia 75 89 100 264 88 ```