1、 课程设计说明书 学学 院 、 系院 、 系 : 软件学院 专专 业业: 软件工程 学学 生生 姓姓 名:名: 学学 号:号: 设设 计计 题题 目目: 歌手比赛系统 起起 迄迄 日日 期期: 2013 年 10 月 11 日2013 年 11 月 16 日 指指 导导 教教 师师: 日期: 2013 年 11 月 16 日 1 1 设计目的设计目的 1) 进一步巩固和复习 C 程序设计的基础知识; 2)培养学生结构化程序、模块化程序设计的方法和能力; 3)了解软件的编制过程及各环节的具体内容; 4)提高学生程序调试技巧、软件设计能力和代码规范化等素质; 5)提高学生分析问题、解决问题以及实际
2、运用能力。 2 2 任务概述任务概述 对一次歌手比赛的成绩进行管理,功能要求:1、输入每个选手的数据包括编号、姓名、十个评委 的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉最低分) 。2、显示主菜单如下:1) 输入选手数据 2)评委打分 3)成绩排序(按平均分)4)数据查询 5)追加学生数据 6)写入数据 文件 7)退出系统。 3 3 模块划分模块划分 4 4 主要函数说明及其主要函数说明及其 N N- -S S 图图 排序函数:根据评委成绩,去掉一个最高分和最低分,计算出平均值,然后进行排序。 计算函数:算出各位选手的平均成绩。 主函数:实现所有函数。 歌 手 比 赛 系 统 定义
3、结构体 输入数据函数 随机生成数字函数 计算函数 排序函数 输出数据函数 输出最终数据 插入函数 主函数 int flag=1,n,i,m,j; flag %d n 1 2 3 4 5 6 7 Int i n for(i=0;ibj) k=j; if(k!=i)if(k!=i) temp=bi;temp=bi; bi=bk;bi=bk; bk=temp;bk=temp; strcpy(str,ai.name);strcpy(str,ai.name); strcpy(ai.name,ak.name);strcpy(ai.name,ak.name); strcpy(ak.name,str);str
4、cpy(ak.name,str); t=ai.num;t=ai.num; ai.num=ak.num;ai.num=ak.num; ak.num=t;ak.num=t; main()main() int flag=1,n,i,m,j;int flag=1,n,i,m,j; FILE *fp;FILE *fp; fp = fopen(“data.txt“,“w+“);fp = fopen(“data.txt“,“w+“); struct player a20;struct player a20; printf(“ printf(“ 歌手比赛系统主菜单歌手比赛系统主菜单 n“);n“); printf(“*printf(“* n“);n“); printf(“ *1.printf(“ *1.输入选手数据输入选手数据* n“);n“); printf(“ *2.printf(“ *2.评委打分评委打分* n“);n“); printf(“ *3.printf(“ *3.成绩排序成绩排序* n“);n“); printf(“ *4.printf(“ *4.数据查询数据查询* n“);n“); printf(“ *5.printf(“ *5.追加学生数据追加学生数据* n“);n“); prin