|
|
|
@ -292,8 +292,7 @@ Please Input your choice: 13
|
|
|
|
|
概要设计
|
|
|
|
|
系统主要分为用户界面和数据处理两大模块。
|
|
|
|
|
用户界面模块包括系统初始化(init),显示菜单(display_menu),选择菜单命令(make_choice)、确认(confirm)、退出(quit)等子模块。
|
|
|
|
|
数据处理模块包括读取数据(read_data)、保存数据(save_data)、打印数据(print_data)、查询数据(query_data)、添加数据(add_data)、更新数据(update_data)、删除数据(delete_data)、数据排序(sort_data)和生成图表(make_chart)等子模块。其中查询、添加、更
|
|
|
|
|
新和删除数据还会用到根据编号查询数据的方法(find)。
|
|
|
|
|
数据处理模块包括读取数据(read_data)、保存数据(save_data)、打印数据(print_data)、查询数据(query_data)、添加数据(add_data)、更新数据(update_data)、删除数据(delete_data)、数据排序(sort_data)和生成图表(make_chart)等子模块。其中查询、添加、更新和删除数据还会用到根据编号查询数据的方法(find)。
|
|
|
|
|
|
|
|
|
|
上述各模块通过主程序(main)进行调用,系统模块图如下。
|
|
|
|
|
|
|
|
|
@ -334,34 +333,49 @@ Step 2.15:if c == 13 then ReadfromFile
|
|
|
|
|
Step 2.16:if c == 0 then exit
|
|
|
|
|
|
|
|
|
|
系统模块图
|
|
|
|
|
|
|
|
|
|
````
|
|
|
|
|
输入n个学生的m门课成绩
|
|
|
|
|
ReadScore
|
|
|
|
|
Step 1:显示提示信息,要求输入学生的学号,姓名和成绩
|
|
|
|
|
Step 2:利用循环,输入学生的学号,成绩和各科成绩
|
|
|
|
|
|
|
|
|
|
学生信息输入
|
|
|
|
|
|
|
|
|
|
````
|
|
|
|
|
计算每个学生各门课程的总分和平均分
|
|
|
|
|
AverSumofEveryStudent
|
|
|
|
|
````
|
|
|
|
|
Step 1:利用for循环给 sum 赋初值为 0
|
|
|
|
|
Step 2:利用第二重循环重新计算每个学生的总分
|
|
|
|
|
Step 3:计算每个学生的平均分
|
|
|
|
|
Step 4:将结果按照舒徐,总分和平均分的顺序进行输出
|
|
|
|
|
|
|
|
|
|
````
|
|
|
|
|
计算每个学生各门课程的总分和平均分
|
|
|
|
|
|
|
|
|
|
AverSumofEveryCourse
|
|
|
|
|
````
|
|
|
|
|
step1
|
|
|
|
|
````
|
|
|
|
|
计算每门课程的总分和平均分
|
|
|
|
|
SortbyScore
|
|
|
|
|
按选择法将数组sum的元素值排序
|
|
|
|
|
SortbyScore
|
|
|
|
|
按选择法将数组num的元素值按从低到高排序
|
|
|
|
|
AsSortbyNum
|
|
|
|
|
交换法实现字符串按字典顺序排序
|
|
|
|
|
SortbyName
|
|
|
|
|
按学号查找学生成绩并显示查找结果
|
|
|
|
|
SearchbyNum
|
|
|
|
|
按姓名的字典顺序排出成绩表
|
|
|
|
|
SearchbyName
|
|
|
|
|
统计各分数段的学生人数及所占的百分比
|
|
|
|
|
StatisticAnalysis
|
|
|
|
|
打印学生成绩
|
|
|
|
|
PrintScore
|
|
|
|
|
输出n个学生的学号、姓名及m门课程的成绩到文件student.txt中
|
|
|
|
|
WritetoFile
|
|
|
|
|
从文件中读取学生的学号、姓名及成绩等信息写入到结构体数组stu中
|
|
|
|
|
ReadfromFile
|
|
|
|
|
|
|
|
|
|
exit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
代码实现
|
|
|
|
|
// 头文件的使用
|
|
|
|
|
|
|
|
|
|