欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言课设唱歌比赛评分系统Word文档下载推荐.docx

    • 资源ID:8002802       资源大小:190.82KB        全文页数:33页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言课设唱歌比赛评分系统Word文档下载推荐.docx

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

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

    3、能模块框图(传统流程图或N-S框图)(1)密码程序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 选手

    4、信息修改图8 选手信息删除图9 程序退出四、技术要点1、冒泡程序应用运用冒泡程序对各个参赛选手排序,并去除头与尾即最高分和最低分,将剩下的评委得分运算得出选手最终平均分,然后再排序,便能得出选手名次。 for(i=0;iN-1;i+) /冒泡排序法让那个成绩从小到大排列,然后选出最大值是最后一个,最小值是第一个 for(j=0;jgradesjp1-gradesj+1) t=p1-gradesj; p1-gradesj=p1-gradesj+1;gradesj+1=t; p1-ave=(p1-ave-(p1-grades0+p1-grades9)/8;/去掉一个最高分,去掉一个这一低分,得出最

    5、后的平均分2、文件操作包括了文件的写入和读取两个方面。运用指针程序文件的写入操作,用于保存录入的数据,也用于保存所修改的数据。例如下段程序。void save()/将数据保存到文件 FILE *fp; S_MESSAGE *p1;/=(S_MESSAGE *)malloc(LEN); p1=head; fp=fopen(参赛选手.txt,w); fprintf(fp,-|-n 编号 | n while(p1 != NULL) fprintf(fp, %-9d%-6sn,p1-num,p1-name); p1=p1-next; fclose(fp); printf(nt文件已将保存到参赛选手.t

    6、xt3、关于删除算法实现从系统中删除某位同学的相关信息的算法稍微复杂一些,其实质是对数组某个或某些元素的删除操作。对数组元素的删除操作完成后,再将数组写入到文件中,就完整地实现了“删除”。void del() S_MESSAGE *node; int check=0; /用来进行判断,是否找到了要删除的信息 long del_num;n请输入要删除的选手的编号: scanf(%d,&del_num); if(head = NULL & tail =NULL) printf(n当前信息记录为空,删除失败!n else node=head; p1=head; while(node ! if(nod

    7、e-num = del_num) printf(n-要删除的选手信息-n,node-num,node- /在这里找到了要删除的选手信息 check=1; /找到要删除的信息,赋为真 if(node = head & head-next = NULL) /是头结点,并且只有一个结点 head=NULL; tail=head; free(node); printf(n-删除信息成功-n /删除唯一的节点 else if(node = head &next != NULL) /删除头节点 node=head; head=head- /头节点删除成功 n=n-1; else if(node -= NU

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

    9、懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,这毕竟独立做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于游逆而解。对给过我帮助的所有同学和各位指导老师再次表示忠心的感!六、参考文献(参考的书籍或互联网资源)1 谭浩强

    10、C程序设计:清华大学,20052 网络资源加密程序七、源程序/*密码:123456 只有密码输入正确,才能进入plus程序.*/ #include stdlib.hconio.hstring.hmalloc.h#define LEN sizeof(S_MESSAGE)#define N 7typedef struct songer /定义选手信息链表结构 long num; /选手编号 char name20; /选手 float gradesN; /选手成绩 double ave; /平均成绩 struct songer * next; /链表的结点,next是指针变量,指向结构体变量S_M

    11、ESSAGE;S_MESSAGE * head; /定义链表的头指针S_MESSAGE * tail; /定义链表的尾指针int n=0; / n为全局变量,用于统计结点的个数void creat(); /建立单向动态链表。此函数带回一个指向链表头的指针,用于参赛选手的录入void del(); /用于删除结点,用于参赛选手的删除void search(); /参赛选手成绩的查询void print(); /用于输出链表void rank(); /按个人平均成绩从高到低的顺序进行排序void update(); /参赛选手的修改void menu(); /操作系统菜单界面void menu_s

    12、elect(); /菜单选择界面void browse(); /选手信息浏览void save(); /选手信息保存void quit(); /退出系统界面/*- rank函数 -*/void rank() S_MESSAGE *p1,*p2,*endpt,*p; / *endpt/*控制循环比较*/ *p/*临时指针变量*/ n=0; tail = NULL)n-当前信息记录为空-n p1 = (S_MESSAGE *)malloc(LEN); p1-next = head; /*注意理解:我们增加一个节点,放在第一个节点的前面,主要是为了便于比较。因为第一个节点没有前驱,我们不能交换地址。

    13、*/ head = p1; /*让head指向p1节点,排序完成后,我们再把p1节点释放掉*/ for(endpt=NULL; endpt!=head; endpt=p) /*结合第6点理解*/ for(p=p1=head;next-next!=endpt; p1=p1-next) if(p1-ave /1、排序后q节点指向p节点,在调整指向之前,我们要保存原p的指向节点地址,即:p2=p1-nextnext = p2- /2、顺着这一步一步往下推,排序后p1-next要指的是p2-next,所以p1-next=p2- p2-next = p1- /3、p2-next原是q发出来的指向,排序后

    14、q的指向要变为指向p的,而原来p1-next是指向p的,所以p2-next=p1-next = p2; /4、p1-next原是指向p的,排序后图16中p1-next要指向q,原来p1-next(即p2)是指向q的,所以p1-next=p2 p = p1- /5、至此,完成了相邻两节点的顺序交换 p1 = head; /*把p1的信息去掉*/ head = head- /*让head指向排序后的第一个节点*/ free(p1); /*释放p1*/n-选手成绩排名信息如下-n-|-|-|-n 编号 | |平均成绩| 名次 n while(p1 ! printf( %-9d%-9s%-9.1lf%

    15、-5dnname,p1-ave,n+1); n+; p1=p1-/*- print函数 -*/void print() S_MESSAGE * p1=(S_MESSAGE *)malloc(LEN); int check=0,i; long seeknum;n请输入要查找的选手编号:seeknum); tail = NULL )n对不起,当前记录为空!n-你要找的选手的成绩如下-n/在这里找到了要查找的选手成绩-|-|-|-|-|-|-|-|-|-|-|-n 编号 | | 成绩| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 平均成绩nnum = seeknum) %-7d%-6s

    16、for(i=0;N;i+) %.1f gradesi); %-6.2lfnave); p1=p1-n对不起,你查看的选手成绩不存在!/*- search函数-*/ void search() int c;n请选择查询容:1.选手详细成绩查询 2.选手排名查询n请输入您的选择:c); switch(c) case 1:system(clsprint();break; case 2:rank();/*- save函数 -*/*- update函数 -*/void update() /用来进行判断,是否找到了要修改的信息 long updatenum;n请输入要修改的选手编号:updatenum);/查找到要修改的选手num = updatenum)n-你要修改的选手信息如下-nn-请重新写入此选手信息:-n check=1;/从新写入修改项目n修改选手编号为: scanf(num);n修改选手为: scanf(%sn对不起,你要修改的选手信息不存在!/*- browse函数 -*/void browse()


    注意事项

    本文(C语言课设唱歌比赛评分系统Word文档下载推荐.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开