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

上传人:知****量 文档编号:48778909 上传时间:2022-10-07 格式:DOC 页数:25 大小:1.45MB
返回 下载 相关 举报
C语言程序专业课程设计歌手比赛系统.doc_第1页
第1页 / 共25页
C语言程序专业课程设计歌手比赛系统.doc_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《C语言程序专业课程设计歌手比赛系统.doc》由会员分享,可在线阅读,更多相关《C语言程序专业课程设计歌手比赛系统.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C语言程序专业课程设计歌手比赛系统淮南师范学院 课程设计报告歌手比赛系统 姓 名:胡欢欢学 号:1008010109专 业:计算机科学与技术班 级: 10级(1)班 指导教师:彭飞职 称:XXX 2013年3月7日目录122 项目描述2 程序结构33 程序结构流程图33 各模块的功能及程序说明34677C语言是一门计算机高级语言,它在Microsoft开发的软件Visual C+ ,C语言具有很多优点:,众多的运算符,体现结构化程序设计的优良控制结构,具有抽象功能及体现信息隐蔽思想的函数。,如科学家,系统程序设计,字处理软件和电子表格软件的开发,信息管理,计算机辅助设计,等方面。,为完成某一功

2、能所写的源程序代码往往比其他语言写得短,便利程序输入工作量减少。 C标准,则其源代码可不作修改,即可用于各种型号的计算机和各种操作系统,因此,C语言具有良好的可移植性。 本次实践我们选择了使用C语言编写基于链表的程序,不仅使大家对程序设计、编程方法有了进一步提高,而且掌握了使用C语言动态内存分配及数据结构等方面的知识。 项目描述1项目名称:歌手打分系统:(1)生成字符界面的功能菜单* (2)通过输入菜单项的序号启动相应模块的功能 能够根据输入的选手人数创建链表; 录入9名评委给选手的打分,; 按照去掉一个最高分和去掉一个最低分的原则求每名选手的平均分; 按平均分由高到低的顺序对选手进行排序;

3、; 把原始数据和最终的结果输出到屏幕; 在第,可根据情况修改数据,例如:插入或删除歌手。 程序结构将歌手打分系统程序进行系统模块划分,共分为九部分,分别是: 程序结构流程图main输出数据存储数据排序求平均分得分维护得分录入输入成绩创建链表 各模块的功能及程序说明创建链表:使用尾插法插入数据;输入选手信息:包括选手信息的输入,选手成绩的输入,去掉一个最高分和最低分,并将其余评委的评分求出平均值。输出选手排名:包括选手成绩排名。删除和插入选手信息:将退赛选手和新参加的比赛的选手进行删除和插入。主函数:将所有函数实现。程序的运行效果图: 在本次的C语言实践中,让我受益匪浅,通过本次的实践,让更深入

4、的了解了C语言这门计算机语言,也明白了软件开发的相关流程和基本步骤,也许我的程序还存在些许问题,也许还不完美,但是我相信在以后的学习中我们会继改进的。也希望老师可以给我们提出您的宝贵意见。编程入门网:C程序设计(第四版)谭浩强著#include#include#include#include#define N 3#define M 10int add = N-1;int sumN=0,MaxN,MinN;scorei=1+(int)10*rand()/(RAND_MAX+1);void sort(struct player a,float b,int n)int i,k,j,t;float t

5、emp;char str8;for(i=0;in;i+)k=i;for(j=i+1;jbj) k=j;if(k!=i)temp=bi;bi=bk;bk=temp;strcpy(str,ai.name);strcpy(ai.name,ak.name);strcpy(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(,w+);struct player a20;printf(*n);printf(*n);printf(*n);printf(*n);printf

6、(*n);printf(*n);printf(*n);while(flag)printf(你想进行的操作:);scanf(%d,&n);switch(n)case 1:Inistplayer(a,N);break;case 2:srand(unsigned)time(NULL); for(i=0;iN;i+) printf(%d位选手的成绩:,i+1); Inputscore(ai.score,M); for(j=0;jM;j+) printf(%d ,ai.scorej); printf(n); break;case 3:for(i=0;iN;i+) Maxi=ai.score0; Mini

7、=ai.score0; for(j=0;jM;j+) sumi+=ai.scorej; if(Maxiai.scorej) Mini=ai.scorej; averi=(float)(sumi-Maxi-Mini)/(M-2); sort(a,aver,N); for(i=0;iN;i+) printf(%s %n,ai.name,averi); break;case 4:printf(你想查询选手的数据:); scanf(%d,&m); for(i=0;iN;i+) if(ai.num=m) printf(%d号选手%s总分:%d,最高分%d,最低分%d,平均分%,ai.num,ai.nam

8、e,sumi,Maxi,Mini,averi); printf(n); break;case 5:printf(请输入要追加的选手数据:n); add += 1; scanf(%d %s,&aadd.num,&aadd.name); 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;程序2:#

9、include#include#include#include/#define N 3#define M 10int add = N-1;int x=3;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;in;i+)scanf(%d %s,&ai.num,&ai.name);void Inputscore(int score,int n)int i;for(i=0;in;i+)scor

10、ei=1+(int)10*rand()/(RAND_MAX+1);void sort(struct player a,float b,int n)int i,k,j,t;float temp;char str8;for(i=0;in;i+)k=i;for(j=i+1;jbj) k=j;if(k!=i)temp=bi;bi=bk;bk=temp;strcpy(str,ai.name);strcpy(ai.name,ak.name);strcpy(ak.name,str);t=ai.num;ai.num=ak.num;ak.num=t;void main()int flag=1,n,i,m,j;F

11、ILE *fp;fp = fopen(,w+);struct player a20;printf(*n);printf(*n);printf(*n);printf(*n);printf(*n);printf(*n);printf(*n);while(flag)printf(你想进行的操作:);scanf(%d,&n);switch(n)case 1:Inistplayer(a,N);break;case 2:srand(unsigned)time(NULL); for(i=0;ix;i+) printf(%d位选手的成绩:,i+1); Inputscore(ai.score,M); for(j

12、=0;jM;j+) printf(%d ,ai.scorej); printf(n); break;case 3:for(i=0;ix;i+) Maxi=ai.score0; Mini=ai.score0; for(j=0;jM;j+) sumi+=ai.scorej; if(Maxiai.scorej) Mini=ai.scorej; averi=(float)(sumi-Maxi-Mini)/(M-2); sort(a,aver,x); for(i=0;ix;i+) printf(%s %n,ai.name,averi); break;case 4:printf(你想查询选手的数据:);

13、scanf(%d,&m); for(i=0;ix;i+) if(ai.num=m) printf(%d号选手%s总分:%d,最高分%d,最低分%d,平均分%,ai.num,ai.name,sumi,Maxi,Mini,averi); printf(n); x=x+1; break;case 5:printf(请输入要追加的选手数据:n); add += 1; scanf(%d %s,&aadd.num,&aadd.name); break;case 6:printf(将数据写入文件中:n); for (i = 0 ; i add+1 ; i+) fprintf(fp,%d ,ai.num);

14、fprintf(fp,%s ,ai.name); fprintf(fp,%dn,ai.score); break;case 7:exit(0); break;default:flag=0;课程设计报告评分表(即封底)淮南师范学院学年课程设计报告评分表学生姓名:XXX 学号:XXXXX 班级:XXXX课程设计题目:歌手比赛系统项目内容满分实 评选题能结合所学课程知识、有一定的能力训练。符合选题要求(3人一题)5工作量适中,难易度合理10能力水平能熟练应用所学知识,有一定查阅文献及运用文献资料能力10理论依据充分,数据准确,公式推导正确10能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等10能体现创造性思维,或有独特见解15成果质量模型正确、合理,各项技术指标符合要求。15摘要叙述简练完整,假设合理、问题分析正确、数学用语准确、结论严谨合理;问题处理科学、条理分明、语言流畅、结构严谨、版面清晰15课程设计报告主要部分齐全、合理,符号统一、编号齐全。格式、绘图、表格、插图等规范准确,符合课程设计报告要求10正文字数不少于2000字,不超过15000字5总 分100指导教师评语: 指导教师签名: 年 月 日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 产品策划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁