求助用C语言开发一个“比赛评分系统”
设计题1 利用C语言开发一个“比赛评分系统”。(给分原则为:满分为10分;裁判给出分数后,去掉两个最高分和两个最低分后的平均分为选手的最后得分(精确到小数点后两位)。)
该系统应具备以下功能:
1. 设参赛人数为n位,裁判人数为m(不少于11位的奇数)位;
系统能录入参赛人员资料;
2. 参赛选手按序号依次比赛,统计最后得分;
3. 能够查阅选手的得分情况;
4. 比赛结束后,整理出“名次表”;
5. 公布一、二、三等奖的得奖选手名单。
四、 设计要求
1. 所有功能用菜单给出,要求有良好的用户菜单界面;
2. 按菜单列出的功能分别完成各功能模块的设计;
3. 用主函数进行功能管理,运行时根据用户要求(点菜)完成各模块功能;
4. 各功能完成后,返回主菜单,以便用户接着接着调用下一功能或退出系统。
五、 设计步骤
1. 对选定的题目(题目个数由教师确定)进行功能分析;
2. 绘制设计系统的结构层次图;
3. 设计各功能实现的算法,绘制结构化流程图(或程序流程图);
4. 设计主函数框架及实现该框架时所需要使用的语句;
5. 设计输入、输出界面;
6. 设计函数间调用的接口(参数传递的方法);
7. 编制程序,进行静态检查;
8. 上机调试;
9. 设计一批初始数据试运行;
10. 写出综合程序设计报告。
六、 综合程序设计报告内容
1. 将设计步骤中的1.~7. 用文字形式总结记录;
2. 写出上机调试的心得,即程序设计过程中的经验、体会;
3. 该系统的运行条件(系统支撑环境);
4. 运行该系统的方法。
七、设计题1的分析: 题目 比赛评分系统设计
思考的问题: 1. 数据单元的分配
定义 no[n]――存储参赛选手的编号, 类型 int;
a[n] ――存储参赛选手的得分 类型float ;
b[11]――存储裁判的给分 类型 float;
辅助变量 i,j,k(循环控制); p求平均分,t排序交换使用;
n 实际参赛选手的个数; 裁判定为11人;
2. 系统结构:(1)采用多模块设计 (2)采用单模块(主)设计
算法思考:
1. 参赛选手的编号采用8000+i的形式,表示2008年的比赛项目,
在系统初始化时,用循环加赋值语句实现;
2. 参赛选手的得分按比赛规则,一人一人逐个给出,即用循环实现;
3. 裁判的给分由键盘输入,显然每一个选手每一个裁判均要给成绩;
4. 选手的最后得分要对裁判给出的分数进行加工:去掉两个最高及最低分后平均;
5. 选手名次排位,采用选择法排序(从高到低);