C语言实现的歌手比赛打分系统

版权申诉
5星 · 超过95%的资源 1 下载量 76 浏览量 更新于2024-06-28 收藏 645KB PDF 举报
“C语言程序课程设计-歌手比赛系统.pdf” 这篇课程设计报告主要围绕使用C语言开发一个歌手比赛系统展开,该系统基于链表数据结构,旨在提升学生的程序设计和编程能力,以及对C语言动态内存分配和数据结构的理解。报告详细介绍了系统的设计与实现过程。 1. C语言特性与应用 C语言是一种强大的编程语言,广泛应用于系统开发、软件工程、数据分析等多个领域。它的特点包括丰富的数据类型、结构化控制结构、抽象功能和良好的可移植性。C语言的代码通常简洁高效,便于移植到不同平台。 2. 系统设计 2.1 设计分析 项目名称是“歌手打分系统”,具备以下功能: - 显示字符界面菜单,包含选手数据输入、评委打分、成绩排序、数据查询、追加数据、写入文件和退出系统等选项。 - 用户选择菜单项后,系统会执行对应的操作,例如: - 输入选手数据:允许用户录入选手的基本信息和得分。 - 评委打分:记录每个评委对选手的评分。 - 成绩排序:计算所有选手的平均分,并按平均分高低进行排序。 - 数据查询:查找特定选手的信息或查看所有选手的数据。 - 追加学生数据:在现有数据基础上添加新的选手信息。 - 写入数据文件:将排序后的选手数据保存到文件中。 - 退出系统:结束程序运行。 2.2 程序结构 程序划分为多个模块,包括用户接口、数据输入、数据处理和文件操作等部分。程序结构流程图展示了这些模块之间的交互关系,帮助理解程序的执行流程。 3. 系统实现 3.1 各模块功能及程序说明 这部分详细阐述了每个模块的具体实现细节,包括如何处理用户输入、如何存储和计算数据、如何实现排序算法以及如何与文件交互。 3.2 系统主要功能模块的运行效果图 这部分可能包含了系统运行时的屏幕截图,展示实际操作界面和结果,以验证系统功能的正确性和可用性。 4. 设计体会 作者分享了在设计和实现系统过程中遇到的问题、解决策略以及从中获得的经验和教训。 5. 参考文献 列出在开发过程中参考的技术文档、书籍或其他资源。 6. 源程序代码 附带的源代码是整个系统的实现,包括所有模块的C语言源文件,供读者查阅和学习。 通过这个项目,学生不仅提升了C语言编程技能,还深入理解了链表数据结构和动态内存管理,为将来更复杂的系统开发打下了坚实基础。
2023-05-29 上传
XXXXX大学 本 科 课 程 设 计 课程:C语言程序设计 题目:歌手比赛系统 学院:xxxxxxxxxx 专业班级:xxxxxxx 学号:xxxxxxxx 学生姓名:xxxxxxx 指导教师:庞茂群 2011年10月15日 目录 1、引言····································································· 2、系统设计································································· 2.1、设计分析····························································· 2.1.1、项目描述······················································· 2.2、程序结构····························································· 2.2.1、程序划分······················································· 2.2.2、程序结构流程图················································· 3、系统实现································································· 3.1、各模块的功能及程序说明··············································· 3.2、系统各模块的运行效果图··············································· 4、设计体会································································· 5、参考文献········································· 6、系统完整源程序··························································· 引言 C语言是一门计算机高级语言,它在Microsoft开发的软件Visual C++ 6.0中执行,C语言具有很多优点: 1.C语言具有丰富的数据类型,众多的运算符,体现结构化程序设计的优良控制结构,具 有抽象功能及体现信息隐蔽思想的函数。 2.C语言的应用几乎遍及了程序的各个领域,如科学家,系统程序设计,字处理软件和电 子表格软件的开发,信息管理,计算机辅助设计,等方面。 3.C语言简洁,为完成某一功能所写的源程序代码往往比其他语言写得短,便利程序输入 工作量减少。 4.若程序员在书写过程时严格遵循ANSI C标准,则其源代码可不作修改,即可用于各种型号的计算机和各种操作系统,因此,C 语言具有良好的可移植性。 本次实践我们选择了使用C语言编写基于链表的程序,不仅使大家对程序设计、编程方法 有了进一步提高,而且掌握了使用C语言动态内存分配及数据结构等方面的知识。 一、系统设计 2.1设计分析 2.1.1 项目描述 1.项目名称:歌手打分系统 2.功能描述: (1)生成字符界面的功能菜单 ************************************** * 1.输入歌手成绩 * * 2.插入新歌手 * * 3.删除退赛歌手 * * 4.歌手成绩排名 * * 5.输出歌手分数 * * 6.输出歌手排名 * * 7.退出系统 * ************************************** (2)通过输入菜单项的序号启动相应模块的功能 1. 能够根据输入的选手人数创建链表; 2. 录入9名评委给选手的打分,并存储到文件singerOriginal.dat中; 3. 按照去掉一个最高分和去掉一个最低分的原则求每名选手的平均分; 4. 按平均分由高到低的顺序对选手进行排序; 5. 把排名后的数据存储到文件singerFianl.dat中; 6. 把原始数据和最终的结果输出到屏幕; 7. 在第 步中保存singerOriginal.dat文件之前,可根据情况修改数据,例如:插入或 删除歌手。 2.2 程序结构 2.2.1程序划分 将歌手打分系统程序进行系统模块划分,共分为九部分,分别是: 1.定义结构体 2.创建链表函数 3.输入数据函数 4.计算函数 5.排序函数 6.输出数据函数 7.输出最终数据 8.删除函数 9.插入函数 10.主函数 2.2.2 程序结构流程图 三、