为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

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

2011-12-29 14页 doc 373KB 121阅读

用户头像

is_840838

暂无简介

举报
C语言课程设计 歌手比赛系统 XXXXXXXXXXXX 本 科 课 程 设 计 课程:C语言程序设计 题目:歌手比赛系统 学院:XXXXXXXXXXXXXXXXXX 专业班级:XXXXXXX 学号:XXXXXXXX 学生姓名:XXXXXXX 合作人:XXXXXXXXXXXX 指导教师:XXXXXX 2011年10月15日 目录 1、引言····...
C语言课程设计 歌手比赛系统
XXXXXXXXXXXX 本 科 课 程 设 计 课程:C语言程序设计 目:歌手比赛系统 学院:XXXXXXXXXXXXXXXXXX 专业班级:XXXXXXX 学号:XXXXXXXX 学生姓名:XXXXXXX 合作人:XXXXXXXXXXXX 指导教师:XXXXXX 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.C语言的应用几乎遍及了程序的各个领域,如科学家,系统程序设计,字处理软件和电子格软件的开发,信息管理,计算机辅助设计,等方面。 3.C语言简洁,为完成某一功能所写的源程序代码往往比其他语言写得短,便利程序输入工作量减少。 4.若程序员在写过程时严格遵循ANSI C,则其源代码可不作修改,即可用于各种型号的计算机和各种操作系统,因此,C语言具有良好的可移植性。 本次实践我们选择了使用C语言编写基于链表的程序,不仅使大家对程序设计、编程方法有了进一步提高,而且掌握了使用C语言动态内存分配及数据结构等方面的知识。 一、系统设计 2.1设计分析 2.1.1 项目描述 1.项目名称:歌手打分系统 2.功能描述: (1)生成字符界面的功能菜单 ************************************** * 1.输入歌手成绩 * * 2.插入新歌手 * * 3.删除退赛歌手 * * 4.歌手成绩排名 * * 5.输出歌手分数 * * 6.输出歌手排名 * * 7.退出系统 * ************************************** (2)通过输入菜单项的序号启动相应模块的功能 能够根据输入的选手人数创建链表; 录入9名评委给选手的打分,并存储到文件singerOriginal.dat中; 按照去掉一个最高分和去掉一个最低分的原则求每名选手的平均分; 按平均分由高到低的顺序对选手进行排序; 把排名后的数据存储到文件singerFianl.dat中; 把原始数据和最终的结果输出到屏幕; 在第②步中保存singerOriginal.dat文件之前,可根据情况修改数据,例如:插入或删除歌手。 2.2 程序结构 2.2.1程序划分 将歌手打分系统程序进行系统模块划分,共分为九部分,分别是: 1.定义结构体 2.创建链表函数 3.输入数据函数 4.计算函数 5.排序函数 6.输出数据函数 7.输出最终数据 8.删除函数 9.插入函数 10.主函数 2.2.2 程序结构流程图 三、系统实现 3.1 各模块的功能及程序说明 创建链表:使用尾插法插入数据; 输入选手信息:包括选手信息的输入,选手成绩的输入,去掉一个最高分和最低分,并将其余评委的评分求出平均值。 输出选手排名:包括选手成绩排名。 删除和插入选手信息:将退赛选手和新参加的比赛的选手进行删除和插入。 主函数:将所有函数实现。 系统主要功能模块的运行效果图 程序的运行效果图: 四、设计体会 在本次的C语言实践中,让我们受益匪浅,通过本次的实践,让我们更深入的了解了C语言这门计算机语言,也明白了软件开发的相关流程和基本步骤,也明白了团队精神的重要性,一项工作如果是靠一个人的力量是远远不够的。虽然在设计软件中遇到了很多问题,我们所有组员通力合作,积极讨论,翻阅资料,最终完成了这次实践,也许我们的程序还存在些许问题,也许还不完美,但是我相信在以后的学习中我们会继续改进的。也希望老师可以给我们提出您的宝贵意见。 五、参考文献 编程入门网:http://www.bianc.cn/ http://www.bianceng.cn/Programming/ 六、源程序代码 #include #include #include #include #define N 3 #define M 10 int add = N-1; int sum[N]={0},Max[N],Min[N]; float aver[N]={0}; struct player {int num; char name[8]; int score[M]; }; void Inistplayer(struct player a[],int n) {int i; for(i=0;ib[j]) k=j; if(k!=i) {temp=b[i]; b[i]=b[k]; b[k]=temp; strcpy(str,a[i].name); strcpy(a[i].name,a[k].name); strcpy(a[k].name,str); t=a[i].num; a[i].num=a[k].num; a[k].num=t; } } } void main() {int flag=1,n,i,m,j; FILE *fp; fp = fopen("data.txt","w+"); struct player a[20]; printf("**********1.输入选手数据***********\n"); printf("**********2.评委打分***************\n"); printf("**********3.成绩排序***************\n"); printf("**********4.数据查询***************\n"); printf("**********5.追加学生数据***********\n"); printf("**********6.写入数据文件***********\n"); printf("**********7.退出系统***************\n"); while(flag) {printf("你想进行的操作:"); scanf("%d",&n); switch(n) { case 1:Inistplayer(a,N);break; case 2:srand((unsigned)time(NULL)); for(i=0;ia[i].score[j]) Min[i]=a[i].score[j]; } aver[i]=(float)(sum[i]-Max[i]-Min[i])/(M-2); } sort(a,aver,N); for(i=0;i
/
本文档为【C语言课程设计 歌手比赛系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索