c语言课程设计报告—歌星大奖赛评分系统

c语言课程设计报告—歌星大奖赛评分系统

ID:8462331

大小:151.00 KB

页数:14页

时间:2018-03-28

c语言课程设计报告—歌星大奖赛评分系统_第1页
c语言课程设计报告—歌星大奖赛评分系统_第2页
c语言课程设计报告—歌星大奖赛评分系统_第3页
c语言课程设计报告—歌星大奖赛评分系统_第4页
c语言课程设计报告—歌星大奖赛评分系统_第5页
资源描述:

《c语言课程设计报告—歌星大奖赛评分系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、2C语言课程实习报告学院:珠宝学院专业:宝石及材料工艺学班级:学号:姓名:目录第一部分:课程设计编号、名称、内容第二部分:程序总体设计思路第三部分:程序功能划分、图示及流程图第四部分:程序设计数据、运行结果第五部分:程序的优缺点第六部分:程序改进思路第七部分:附录(源程序)第一部分:课程设计编号、名称、内容编号:二十一题名称:歌星大奖赛内容:【要求】(1)在歌星大奖赛中,有十个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均植。请编写一个程序实现。(2)同时

2、对评委评分进行裁判,即在10个评委中找出最公平(即评分最接近平均分)和最不公平(即与平均分的差距最大)的评委。【提示】一、需求分析这个问题的第一个要求算法十分简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。第二个要求为了考虑效率,要用到排序技术。第二部分:程序总体设计思路由于C语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。王老师给我安排的是21题的《歌星大奖赛》,在编写本程序的过程中,首先我借助购买的指导材料,了解了一些目标程序运行的次序与界面的操作方法,然后按照题目的具体要求

3、进行思考和设计。因为老师抽签给我的程序比较简单,再加上前期实习时王老师交给的一些C的思路和方法,我很快便将整个程序的设计思路整理清楚。具体的设计思路如下:程序的要求是根据十个评委对歌手的打分情况,求出这个歌手的平均成绩和最公平及最不公平的裁判。首先,我先考虑到程序的数据输入,可以用scanf函数来解决,并将输入的数据存放于数组中。随后对存放在数组中的数据进行排序,这步为执行找出最不公平的裁判提高了效率,只需将排好序的数组的首尾分值与平均值进行比较即可。将排好序的数组中间的八个数求平均值即为此歌手的成绩,可见排序法

4、可大大的简化程序。接下来是最后一个任务就是找最公平的裁判,此过程我使用拆半法,先将靠近中间的一个裁判假设为最公平的,再将他前面的裁判与之比较,找出前半部分的最公平的裁判,再将之与后半部分的进行比较,得出最终的最公平的裁判。为了方便管理员更好的使用界面操作,我还设置了每输入完一组数据并得到结果后,或接着输入下组数据或按0跳出界面。整个程序的设计思路到此结束。第三部分:程序功能划分、图示及流程图【功能模块划分及其流程图】本程序功能模块根据程序设计的需求,综合程序的实用性、人性化、智能化的考虑,将程序划分为6个部分分别

5、编写,程序主体功能将由这6个部分来完成。这6个部分依次是:1.分数的输入部分;2.对分数进行的排序部分;3.计算平均值的部分;4.找出最不公平裁判部分;5.找出最公平裁判部分;6.数据的输出部分总体设计:歌星大奖赛评分系统分数输入分数排序计算平均分找出最不公平评委找出最公平评委数据输出系统功能模块图第四部分:程序设计数据、运行结果本程序是一款应用软件,故数据设计、程序运行结果应在程序的运用中得以体现,现在通过一个程序的运用事例来对数据设计、程序运行结果进行演示与实现:【软件运用举例】李明通过朋友介绍想了解裁判对某

6、歌手的评分情况,于是到俱乐部管理员面前说明了意向,裁判部管理员启动歌手大奖赛管理系统。程序开始界面如下:管理员管理员输入评委对任意歌手的打分,输入完毕后程序如下菜单界面:管理员输入输入完毕后,按[Enter]健,程序运行界面如下:此程序显示了裁判对歌手的平均分数,以及根据裁判们打分与平均分数间的差距判断出的最公平和最不公平裁判的位置及打分!为了向李明验证程序的准确性及公平与不公平裁判出现在每个裁判上的几率,管理员又输入了几位歌手的打分管理员输入输入完毕后,按[Enter]健,程序运行界面如下:接着又输入一组数据后

7、运行如下:当出现最高分的裁判和最低分的裁判各不止一个时,输入数据后程序界面的运行如下:第五部分:程序的优缺点【程序的优点】算法是程序的灵魂,程序的优点首先表现在算法上的优点,其次才是功能上的。[算法上的优点]主要体现在以下三点:1.程序采用main主函数方式设计,程序的主体的功能大都由该功能完成。程序如此设计有利于程序的进一步改进及有助于程序执行效率的提高。2.程序对数据的读写采用了scanf函数,此数据的读取与存贮方式有利于磁盘数据的加密,即无法用记事本等程序对数据文件进行正常读取,即有助于数据的保护与加密。另

8、外,对磁盘文本数据的修改有多种方式,通过对比研究发现,本程序采用scanf函数一次性把所有修改过的结构体数组写入文本文件的修改方式,不仅克服了本次程序设计中文本文件不能顺利准确读取的难点,而且相较于传统的fprintf()函数的写入方式与创建临时交换文件的写入方式,写入效率明显提高。3.程序执行使用for语句,C语言中的for语句使用是最为灵活的。不仅可以用于循环次数已确

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。