ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:78.61KB ,
资源ID:1738243      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1738243.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课设唱歌比赛评分系统.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言课设唱歌比赛评分系统.docx

1、C语言课设唱歌比赛评分系统沈阳航空航天大学课程设计学号_班级_姓名_指导教师_年月日沈阳航空航天大学课程设计任务书学院:专业:班级:学号:题目:唱歌比赛评委评分系统一、课程设计时间二、课程设计内容参加唱歌比赛3位选手的名称和出场顺序存放在文件file22.txt中;评委共有7个。每当一个选手表演之后,7个评委都分别评分(010分),而选手的最终得分计算规则为:去掉7个评分的最高和最低分,取剩下5个评分的平均值。程序最后打印出3位选手的成绩。三、课程设计要求程序质量: 贯彻结构化的程序设计思想。 用户界面友好,功能明确,操作方便。 用户界面中的菜单至少应包括“读取并显示选手名单”、“表演与评分”

2、、“打印最后成绩”、“退出”4项。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书: 课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字指导教师:_学生签名:_五、成绩六、教师评语一、需求分析 1二、设计分析 3三、主要界面截图 5四、技术要点 6五、个人总结 7六、参考文献 7七、源程序 7一、需求分析根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。该系统是一个分数录入以及评定系统,其使用者被假定为某歌唱比赛的管理人员,系统应该具有安全、稳定、功能齐全的特点。1.安全性分析系统管理的数据涉及到参赛的所有

3、选手,为防止他人恶意修改,所以在进入评分系统前有密码程序,只有掌握了正确的密码才能进入程序进行各项操作。2.稳定性分析指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。3.主要功能分析(1)密码程序:在程序尾端设置好密码,只有掌握密码的管理员才能进入程序进行成绩录入,修改等操作,避免信息被他人修改,造成比赛不公(2)菜单:有一个功能强大又清晰明了的菜单能极大程度方便管理员的操作(3)数据输入:在每个输入前都有详细分类和提示,简单明了,根据提示输入参赛选手号数,姓名,各个评委打分成绩(4)数据保存:对于输入的数据,或被修改的数据应该保

4、存到某个磁盘文件中,实现永久存储。运用了指针函数后便可实现该功能。将输入的选手信息存储到自动生成的文件中,以便于程序自动读取或人工阅读(5)成绩排名:利用冒泡程序对数组进行排序,删除一个最高与最低然后进行讲剩下的值平均,得出选手最终得分,再根据分数高低排名(6)数据查询:用户输入查询条件,系统规则地在界面显示查询结果,不光可以输入号数,查询到该选手信息,每位评委打分;还可以选择排名查询,显示的数据全面。二、设计分析主要有9个功能模块,每个模块对应一个C语言自定义函数。这些函数原型及其功能简述如下:1、程序总体结构图(传统流程图或N-S框图)2、主要功能模块框图(传统流程图或N-S框图)(1)密

5、码程序plus()不正确正确(2)参赛选手信息录入creat()Printf参赛选手号数Printf姓名Printf7位评委打分是否继续输入是否重新执行开头返回主菜单(3)浏览选手数据browse()(4)查询选手成绩search()(5)删除函数del()(6)查询选手信息print()(7)菜单函数menu()(8)修改函数update()(9)指针函数rank()(10)保存函数save()三、主要界面截图图1进入程序输入密码界面图2程序主界面图3选手信息录入图4选手信息浏览图5单个选手成绩查询图6选手排名查询图7选手信息修改图8选手信息删除图9程序退出四、技术要点1、冒泡程序应用运用冒

6、泡程序对各个参赛选手排序,并去除头与尾即最高分和最低分,将剩下的评委得分运算得出选手最终平均分,然后再排序,便能得出选手名次。 for(i=0;iN-1;i+)/冒泡排序法让那个成绩从小到大排列,然后选出最大值是最后一个,最小值是第一个 for(j=0;jgradesjp1-gradesj+1) t=p1-gradesj; p1-gradesj=p1-gradesj+1; p1-gradesj+1=t; p1-ave=(p1-ave-(p1-grades0+p1-grades9)/8;/去掉一个最高分,去掉一个这一低分,得出最后的平均分2、文件操作包括了文件的写入和读取两个方面。运用指针程序文

7、件的写入操作,用于保存录入的数据,也用于保存所修改的数据。例如下段程序。voidsave()/将数据保存到文件 FILE*fp; S_MESSAGE*p1;/=(S_MESSAGE*)malloc(LEN); p1=head; fp=fopen(参赛选手名单.txt,w); fprintf(fp,-|-n); fprintf(fp,编号|姓名n); while(p1!=NULL) fprintf(fp,-|-n); fprintf(fp,%-9d%-6sn,p1-num,p1-name); p1=p1-next; fprintf(fp,-|-n); fclose(fp); printf(nt文

8、件已将保存到参赛选手名单.txt);3、关于删除算法实现从系统中删除某位同学的相关信息的算法稍微复杂一些,其实质是对数组某个或某些元素的删除操作。对数组元素的删除操作完成后,再将数组写入到文件中,就完整地实现了“删除”。voiddel() S_MESSAGE*node;/=(S_MESSAGE*)malloc(LEN); S_MESSAGE*p1; intcheck=0;/用来进行判断,是否找到了要删除的信息 longdel_num; printf(n请输入要删除的选手的编号:); scanf(%d,&del_num); if(head=NULL&tail=NULL) printf(n当前信息

9、记录为空,删除失败!n); else node=head; p1=head; while(node!=NULL) if(node-num=del_num) printf(n-要删除的选手信息-n); printf(-|-n); printf(编号|姓名n); printf(-|-n); printf(%-9d%-6sn,node-num,node-name);/在这里找到了要删除的选手信息 printf(-|-n); check=1;/找到要删除的信息,赋为真 if(node=head&head-next=NULL)/是头结点,并且只有一个结点 head=NULL; tail=head; fr

10、ee(node); printf(n-删除信息成功-n);/删除唯一的节点 elseif(node=head&head-next!=NULL)/删除头节点 node=head; head=head-next; free(node); printf(n-删除信息成功-n);/头节点删除成功 n=n-1; elseif(node-next!=NULL)/删除中间节点 p1-next=node-next; free(node); printf(n-删除信息成功-n);/中间节点删除成功 n=n-1; elseif(node-next=NULL)/删除尾节点 p1-next=NULL; tail=p1

11、; free(node); printf(n-删除信息成功-n);/尾节点删除成功 n=n-1; getchar(); return; else p1=node; node=node-next; if(head!=NULL&check=0) printf(n对不起,你要删除的选手信息不存在!n); getchar();五、个人总结自从拿到题目到完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知

12、识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,这毕竟独立做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在谢老师的辛勤指导下,终于游逆而解。对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!六、参考文献(参考的书籍或互联网资源)1谭浩强C程序设计北京:清华大学出版社,20052网络资源加密程序七、源程序/*密码:123456只有密码输入正确,才能进入plus程序.*/#include#include#include#include#include#defineLENsizeof(S_MESSAGE)#defineN7typedefstructsonger/定义选手信息链表结构 longnum;/选手编号 charname20;/选手姓名 floatgradesN;/选手成绩 doubleave;/平均成绩 structsonger*next;/链表的结点,next是指针变量,指向结构体变量S_MESSAGE;S_MESSAGE*head;/定义链表的头指针

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1