收藏 分享(赏)

C语言课程设计 歌手比赛系统.doc

上传人:11xg27ws 文档编号:7566874 上传时间:2019-05-21 格式:DOC 页数:15 大小:398KB
下载 相关 举报
C语言课程设计 歌手比赛系统.doc_第1页
第1页 / 共15页
C语言课程设计 歌手比赛系统.doc_第2页
第2页 / 共15页
C语言课程设计 歌手比赛系统.doc_第3页
第3页 / 共15页
C语言课程设计 歌手比赛系统.doc_第4页
第4页 / 共15页
C语言课程设计 歌手比赛系统.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、XXXXX 大学本 科 课 程 设 计课程:C 语言程序设计题目:歌手比赛系统学院:xxxxxxxxxx专业班级:xxxxxxx学号:xxxxxxxx学生姓名:xxxxxxx指导教师:庞茂群2011 年 10月 15日目录1、引言2、系统设计 2.1、设计分析2.1.1、项目描述2.2、程序结构2.2.1、程序划分2.2.2、程序结构流程图3、系统实现3.1、各模块的功能及程序说明3.2、系统各模块的运行效果图4、设计体会5、参考文献6、系统完整源程序引言C语言是一门计算机高级语言,它在 Microsoft开发的软件 Visual C+ 6.0中执行,C语言具有很多优点:1.C语言具有丰富的数

2、据类型,众多的运算符,体现结构化程序设计的优良控制结构,具有抽象功能及体现信息隐蔽思想的函数。2.C语言的应用几乎遍及了程序的各个领域,如科学家,系统程序设计,字处理软件和电子表格软件的开发,信息管理,计算机辅助设计,等方面。3.C语言简洁,为完成某一功能所写的源程序代码往往比其他语言写得短,便利程序输入工作量减少。4.若程序员在书写过程时严格遵循 ANSI C标准,则其源代码可不作修改,即可用于各种型号的计算机和各种操作系统,因此,C 语言具有良好的可移植性。本次实践我们选择了使用 C语言编写基于链表的程序,不仅使大家对程序设计、编程方法有了进一步提高,而且掌握了使用 C语言动态内存分配及数

3、据结构等方面的知识。一、系统设计2.1 设计分析2.1.1 项目描述1项目名称:歌手打分系统2.功能描述:(1)生成字符界面的功能菜单* 1.输入歌手成绩 * 2.插入新歌手 * 3.删除退赛歌手 * 4.歌手成绩排名 * 5.输出歌手分数 * 6.输出歌手排名 * 7.退出系统 *(2)通过输入菜单项的序号启动相应模块的功能 能够根据输入的选手人数创建链表; 录入 9 名评委给选手的打分,并存储到文件 singerOriginal.dat中; 按照去掉一个最高分和去掉一个最低分的原则求每名选手的平均分; 按平均分由高到低的顺序对选手进行排序; 把排名后的数据存储到文件 singerFianl

4、.dat中; 把原始数据和最终的结果输出到屏幕; 在第 步中保存 singerOriginal.dat文件之前,可根据情况修改数据,例如:插入或删除歌手。2.2 程序结构2.2.1 程序划分将歌手打分系统程序进行系统模块划分,共分为九部分,分别是:1.定义结构体2.创建链表函数3.输入数据函数4.计算函数5.排序函数6.输出数据函数7.输出最终数据8.删除函数9.插入函数10.主函数2.2.2 程序结构流程图main三、系统实现3.1 各模块的功能及程序说明创建链表:使用尾插法插入数据;输入选手信息:包括选手信息的输入,选手成绩的输入,去掉一个最高分和最低分,并将其余评委的评分求出平均值。输出

5、选手排名:包括选手成绩排名。删除和插入选手信息:将退赛选手和新参加的比赛的选手进行删除和插入。主函数:将所有函数实现。3.2 系统主要功能模块的运行效果图程序的运行效果图:得分录入创建链表 输入成绩得分维护 存储数据求平均分 排序 输出数据四、设计体会在本次的 C语言实践中,让我们受益匪浅,通过本次的实践,让我们更深入的了解了C语言这门计算机语言,也明白了软件开发的相关流程和基本步骤,也明白了团队精神的重要性,一项工作如果是靠一个人的力量是远远不够的。虽然在设计软件中遇到了很多问题,我们所有组员通力合作,积极讨论,翻阅资料,最终完成了这次实践,也许我们的程序还存在些许问题,也许还不完美,但是我

6、相信在以后的学习中我们会继续改进的。也希望老师可以给我们提出您的宝贵意见。五、参考文献编程入门网:http:/ N 3#define M 10int add = N-1;int sumN=0,MaxN,MinN;float averN=0;struct playerint num;char name8;int scoreM;void Inistplayer(struct player a,int n)int i;for(i=0;ibj) k=j;if(k!=i)temp=bi;bi=bk;bk=temp;strcpy(str,ai.name);strcpy(ai.name,ak.name);s

7、trcpy(ak.name,str);t=ai.num;ai.num=ak.num;ak.num=t;void main()int flag=1,n,i,m,j;FILE *fp;fp = fopen(“data.txt“,“w+“);struct player a20;printf(“*1.输入选手数据*n“);printf(“*2.评委打分*n“);printf(“*3.成绩排序*n“);printf(“*4.数据查询*n“);printf(“*5.追加学生数据*n“);printf(“*6.写入数据文件*n“);printf(“*7.退出系统*n“);while(flag)printf(

8、“你想进行的操作:“);scanf(“%d“,switch(n)case 1:Inistplayer(a,N);break;case 2:srand(unsigned)time(NULL);for(i=0;iai.scorej) Mini=ai.scorej;averi=(float)(sumi-Maxi-Mini)/(M-2);sort(a,aver,N);for(i=0;iN;i+)printf(“%s %5.2fn“,ai.name,averi);break;case 4:printf(“你想查询选手的数据:“);scanf(“%d“,for(i=0;iN;i+)if(ai.num=m)

9、printf(“%d号选手%s 总分:%d,最高分%d,最低分%d,平均分%5.2f“,ai.num,ai.name,sumi,Maxi,Mini,averi);printf(“n“);break;case 5:printf(“请输入要追加的选手数据:n“);add += 1;scanf(“%d %s“, break;case 6:printf(“将数据写入文件中:n“);for (i = 0 ; i add+1 ; i+)fprintf(fp,“%d “,ai.num);fprintf(fp,“%s “,ai.name);fprintf(fp,“%dn“,ai.score);break;case 7:exit(0);break;default:flag=0;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报