1、 课程设计报告课程设计报告 歌手比赛系统 姓姓 名:名:XXX 学学 号:号:XXX 专专 业:计算机科学与技术业:计算机科学与技术 班班 级:级: XXX 指导教师:指导教师:XXX 职职 称:称:XXX 1 目录 1.引言 1 2.系统设计 . 1 2.1 设计分析 . 1 2.1.1 项目描述 . 1 2.2 程序结构 2 2.2.1 程序划分 2 2.2.2 程序结构流程图 3 3.系统实现 . 3 3.1 各模块的功能及程序说明 3 3.2 系统主要功能模块的运行效果图 3 4.设计体会 . 6 5.参考文献 . 7 6.源程序代码 . 7 1.摘要摘要 C 语言是一门计算机高级语言
2、, 它在 Microsoft 开发的软件 Visual C+ 6.0 中执行,C 语言具有很多优点: 1.C 语言具有丰富的数据类型,众多的运算符,体现结构化程序设计的优良控制 结构,具有抽象功能及体现信息隐蔽思想的函数。 2.C 语言的应用几乎遍及了程序的各个领域,如科学家,系统程序设计,字处理 软件和电子表格软件的开发,信息管理,计算机辅助设计,等方面。 3.C 语言简洁,为完成某一功能所写的源程序代码往往比其他语言写得短,便利 程序输入工作量减少。 4.若程序员在书写过程时严格遵循 ANSI C 标准,则其源代码可不作修改,即可 用于各种型号的计算机和各种操作系统,因此,C 语言具有良好
3、的可移植性。 本次实践我们选择了使用 C 语言编写基于链表的程序,不仅使大家对程 序设计、编程方法有了进一步提高,而且掌握了使用 C 语言动态内存分配及数据 结构等方面的知识。 2.系统设计系统设计 2.1 设计分析设计分析 2.1.1 项目描述项目描述 1项目名称:歌手打分系统 2 2.功能描述: (1)生成字符界面的功能菜单 *1.输入选手数据* *2.评委打分* *3.成绩排序* *4.数据查询* *5.追加学生数据* *6.写入数据文件* *7.退出系统* (2)通过输入菜单项的序号启动相应模块的功能 能够根据输入的选手人数创建链表; 录入9名评委给选手的打分, 并存储到文件singe
4、rOriginal.dat 中; 按照去掉一个最高分和去掉一个最低分的原则求每名选手的平 均分; 按平均分由高到低的顺序对选手进行排序; 把排名后的数据存储到文件 singerFianl.dat 中; 把原始数据和最终的结果输出到屏幕; 在第步中保存 singerOriginal.dat 文件之前,可根据情况修 改数据,例如:插入或删除歌手。 2.2 程序结构程序结构 2.2.1 程序划分程序划分 将歌手打分系统程序进行系统模块划分,共分为九部分,分别是: 1.定义结构体 2.创建链表函数 3.输入数据函数 4.计算函数 5.排序函数 6.输出数据函数 7.输出最终数据 8.删除函数 9.插入
5、函数 10.主函数 3 2.2.2 程序结构流程图程序结构流程图 3.系统实现系统实现 3.1 各模块的功能及程序说明各模块的功能及程序说明 创建链表:使用尾插法插入数据; 输入选手信息:包括选手信息的输入,选手成绩的输入,去掉一个最 高分和最低分,并将其余评委的评分求出平均值。 输出选手排名:包括选手成绩排名。 删除和插入选手信息: 将退赛选手和新参加的比赛的选手进行删除和 插入。 主函数:将所有函数实现。 3.2 系统主要功能模块的运行效果图系统主要功能模块的运行效果图 程序的运行效果图: main 得分录入 创建链表 输入成绩 得分维护 存储数据 求平均分 排序 输出数据 4 5 6 4
6、.设计体会设计体会 在本次的 C 语言实践中,让我受益匪浅,通过本次的实践,让更深入的了解了 C 语言这门计算机语言,也明白了软件开发的相关流程和基本步骤,也许我的程序 7 还存在些许问题,也许还不完美,但是我相信在以后的学习中我们会继改进的。 也希望老师可以给我们提出您的宝贵意见。 5.参考文献参考文献 C 程序设计(第四版)谭浩强著 6.源程序代码源程序代码 #include #include #include #include #define N 3 #define M 10 int add = N-1; int sumN=0,MaxN,MinN; float averN=0; struct player int num;