




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学 年 设 计 报 告 设计题目 运动会成绩管理程序设计 作者姓名 张瑞雪 张恒玉 苏继薇 许聪爱 张俐 所学专业 网络工程 指导教师 王汇彬 2012 年 9 月 2 日 学年设计任务书学年设计任务书 学年设计题目运动会成绩管理程序设计 组长张瑞雪学号2011211338班级11 级网络工程 2 班 组别第三组专业网络工程 组员张恒玉 苏继薇 许聪爱 张俐 指导教师王汇彬 学年设计目的 第一 增强对所学知识的应用 通过团队合作和对资料的查阅 对 实际问题进行分析和解决 提高代码的编写能力 第二 通过对实际问题的分析 选取相关资料 解决问题 第三 提高团队的合作能力和动手能力 学年设计所需环境pc windows xp visual c 6 0 学年设计任务要求 设计并实现一个简单的运动会成绩管理程序 实现运动员及比赛信 息的管理 信息使用文件进行保存 学年设计工作进度计划 序号起止日期工 作 内 容分工情况 1 7 1 7 15查找资料 张瑞雪 介绍学年设计内容 张俐 苏继薇 许聪爱 张恒玉 查找 资料及搜索相关信息 27 16 7 31完成程序的基本框架 张瑞雪 张恒玉 分析所要设计的各个 子函数 苏继薇 张俐 许聪爱 设计菜单界面 和主函数 38 1 8 24编写函数 张瑞雪 编写保存和读取两个子函数 张恒玉 编写添加和查找子函数 张俐 编写显示子函数 苏继薇 编写删除和更改两个子函数 许聪爱 编写排序子函数 48 25 8 28分析错误 并解决错误所有组员一起合作 58 29 9 1整理文档与修正 张俐 在文档中总结设计的目的 张恒玉 编写程序的详细模块设计 张瑞雪 编写程序的调试说明 许聪爱 整理整个文档 69 2答辩 张瑞雪 许聪爱 张恒玉 苏继薇 张 俐 指导教师签字 年 月 日 系 教研室 审核意见 系 教研室 主任签字 年 月 日 目目 录录 摘要 1 关键词 1 1 绪论 1 1 1 研究背景 1 1 2 主要工作 1 1 3 本文结构 1 2 系统设计 1 2 1 需求分析 1 2 2 功能模块设计 2 2 3 系统工作流程 2 3 详细设计 5 3 1 系统设计方案 5 3 2 添加信息函数 6 3 3 查询函数 7 3 4 修改函数 8 3 5 删除函数 9 3 6 排序函数 9 4 系统测试 11 5 结束语 15 参考文献 15 滁州学院本科学年设计 1 运动会成绩管理程序设计 摘要 运动会是一个全民健身的活动 在运动会里可以提高人们的身体素质 开发本系统是为 了更方便的记录比赛成绩 本系统使用 c 语言作为开发语言 实现了运动员和比赛信息的管理 信 息使用文件进行保存 通过对不同项目的成绩进行排序 用户可以方便的查看当前运动员的成绩排 名 关键词 运动会成绩管理 c 语言 vc 6 0 1 绪论 1 1 研究背景 运动会成绩管理程序设计的开发是为了方便记录比赛成绩 运动员的状况和成绩 对比赛成绩 进行排名 这个系统以快捷 简便为原则 更加方便了对运动会成绩的记录 运动会是很早以前就 有的一项组织性活动 它的存在使人们的身体得到了锻炼 运动会是一项必不可少的活动 开发这 个系统可以使运动会成绩的记录变的更加方便 1 2 主要工作 本设计开发了一款应用于运动会成绩管理的程序 实现了运动员信息和比赛信息的增加 删除 修改以及查询操作 针对不同项目 根据运动员的比赛成绩进行排序 信息使用文件进行存储 每 次执行增加 删除 修改等更新操作后都会对文件内容进行更新 1 3 本文结构 本文第 1 部分绪论主要说明了本文的研究背景 主要工作和实现方法 第 2 部分系统设计阐述 了需求分析 系统模型设计和系统工作流程设计 第 3 详细设计详细介绍了系统各个功能模块 第 4 部分系统调试 通过调试程序发现程序中的不足并加以改正 2 系统设计 2 1 需求分析 本系统主要实现如下功能 增加 删除 修改 查询运动员信息 1 对运动员的信息进行修改 记录 查询 运动员信息主要包括学号 姓名 专业 参加的比 赛项目以及成绩 增加 删除 修改 查询运动员比赛成绩 2 主要实现程序最初运行时运动员数据的录入以及其后的运行数据的追加功能 按照号码对运 动员的数据记录进行修改 记录 查询 删除 针对不同项目对运动员的成绩进行排名 3 通过对各个项目成绩进行递减排序 对运动员的成绩进行单项排名 滁州学院本科学年设计 2 2 2 功能模块设计 经过对程序设计题目的分析可知 整个程序的设计实现大致分为 5 个模块 每一个模块对应一 个函数 在这些函数当中 添加运动员数据函数 删除数据函数 某项成绩排序函数的实现严格按 照题目的要求 读取文件函数和保存信息函数对其它函数的实现起辅助作用 主函数及菜单函数控 制程序的整体运行 录入信息模块是录入运动员信息 查询信息模块是查询运动员信息的 修改信 息模块可以对运动员信息进行修改 删除模块可对运动员信息进进行删除 成绩排名是对运动员的 成绩进行排名 功能模块见图 2 1 所示 图 2 1 功能模块图 2 3 系统工作流程 1 添加信息函数 数据分为两种情况 其一是在运动员文件 student txt 不存在的情况下 首先由程序创建 一个新文件 并将录入的运动员信息写入该文件当中 其二是在运动员文件 student txt 已经 存在的情况下 此时文件以追加的方式打开 这样保证以前已经存在的数据不丢失 如图 2 2 所示 滁州学院本科学年设计 3 开始 输入要添加 的运动员数 量 输入运动员 的学号 姓 名 参加的 项目及成绩 结束 图 2 2 添加信息流程图 2 查询信息函数 查询文件是在已存的运动员信息中进行查询 可对运动员信息进行查询显示运动员信息 通过 录入运动员号码 num 与 stu i num 做比较 结果相同进行 m m reads stu 来提取文件中的数 据 如图 2 3 所示 开始 结束 请选择输 入方式 若输入错误 重新输入 输入运动员 的学号 姓 名 参加的 项目及成绩 图 2 3 查询信息流程图 3 修改信息函数 修改信息是对运动员信息进行修改 通过输入 number 与 stu i num 比较 如果相同则对该项 信息进行修改 修改后的信息将保存在文件中 如图 2 4 所示 滁州学院本科学年设计 4 开始 输入要更改 的运动员的 学号 请输入更改后的运动员的学 号 姓名 参加的项目及成绩 结束 否 是 图 2 4 修改信息流程图 4 删除信息函数 该函数的核心内容是删除算法以及最终对源文件的更新 该函数执行时 首先调用 reads 函数 将文件中的运动员信息读入数组当中 并由用户输入待删除运动员的号码 而后按照该号码进行查 找 如果文件中存在该运动员的数据 则采用删除算法删除 否则输出运动员信息不存在的提示信 息 对运动员信息的具体删除算法是在结构体数组中实现的 当运动员的信息被找到后 位于数组 中该学生后面的运动员记录依次向前移动一个元素的位置 这些操作完成后 要删除运动员信息就 被后面的数组元素覆盖掉了 也就实现了删除 如图 2 5 所示 开始 结束 输入运动员 学号number 和xiangmu 从文件中读取运动 员数量n 查找学号为number和 xiangmu的运动员 删除学号位number 和xiangmu的运动 员信息并存入文件 否 是 图 2 5 删除信息流程图 滁州学院本科学年设计 5 排序函数 对于某项的排序采用的排序算法是冒泡法排序 整个排序过程在结构体数组 stu 中实现 由于 排序算法涉及到两个数组元素的信息交换 因此还需要定义一个中间变量来协助 排序函数使运动 员数据的排列顺序发生了变化 因此也需要对源文件进行更新 此外 对于运动员排序后名次的确 定 仅在结果输出时予以显示 并未将名次信息写入源文件 具体的程序段如下 由于各项成绩排 序函数相同 所以只给出百米赛跑排名程序 如图 2 6 所示 开始 输入每个运 动员的学号 的信息 查找并输出运动员 的信息 按从小到大的顺序排 序 保存在文件 baimisaipao txt中 再 按名次输出 输出 2 6 排序信息流程图 3 详细设计 3 1 系统设计方案 本系统中用到了结构体数组 该结构体数组中包含字符串 系统的设计方案如下 运动员结构体数组 struct student char num 20 运动员号码 char name 10 运动员名字 float baimi 百米赛跑成绩 float sanjitiao 三级跳成绩 float chenggantiao 撑杆跳成绩 2 函数 滁州学院本科学年设计 6 void menu 菜单函数 int reads struct student stu n 读取运动员信息 void save struct student stu n int n 储存运动员信息 void search 查询运动员信息 void add 添加运动员信息 void del 删除运动员信息 void sort 按百米赛跑成绩查询 void keep 按三级跳成绩查询 void sheep 按撑杆跳成绩查询 void query 退出程序 void show 显示运动员信息 void change 更改运动员信息 3 2 添加信息函数 由程序创建一个新文件 再输入需要添加的运动员数量和信息 并将添加的运动员信息写入创 建的文件中 具体函数如下 void add 添加运动员信息 file fp int n i struct student stu if fp fopen student txt a null 如果文件已经存在 可以追加学生信息 if fp fopen student txt w null 文件不存在时 创建新文件 输入学生信息 printf 文件打开失败 n return printf t请输入要添加的运动员数量 按回车键确认 scanf d for i 1 i n i printf n请输入第 d个运动员的学号 姓名 专业 参加的项目及成绩 n i scanf s s s s f stu num stu name stu zhuanye stu xiangmu 滁州学院本科学年设计 7 fseek fp 0 2 if ftell fp 0 fprintf fp n fprintf fp s s s s f stu num stu name stu zhuanye stu xiangmu stu score fclose fp 3 3 查询函数 查询是在已存的运动员信息中查询 通过录入运动员号码 与文件中的运动员信息比较 具体 函数如下 void search int i 0 m n char name 10 num 20 struct student stu n n reads stu printf t t t n 请选择查询方式 n printf t t t 1 学号 n printf t t t 2 姓名 n printf t t 请选择 scanf d while m 1 scanf d if m 1 printf t t 请输入运动员学号 scanf s num printf t 学号 t 姓名 t 专业 t 参加的项目 t 成绩 t n for i 0 i n i if strcmp stu i num num 0 printf n 12s 11s 11s 12s 11 2f n stu i num stu i name stu i zhuanye stu i xiangmu stu i scor 滁州学院本科学年设计 8 if m 2 printf t t 请输入运动员的姓名 scanf s name printf t 学号 t 姓名 t 专业 t 参加的项目 t 成绩 t n for i 0 i n i if strcmp stu i name name 0 printf n 12s 11s 11 2s 12 2s 11 2f n stu i num stu i name stu i zhuanye stu i xian gmu stu i score 3 4 修改函数 修改信息是对已存的运动员信息进行修改 通过输入运动员号码与文件中的比较 如果相同 则进行修改 具体函数如下 void change struct student stu n int n i char number 20 printf n t 请输入要更改信息的运动员的学号 按回车键确认 scanf s number n reads stu for i 0 i n printf t t 无此学生信息 return printf n 请输入更改后学生的学号 姓名 专业 参加的项目 成绩 按回车键确 n 滁州学院本科学年设计 9 scanf s s s s f stu i num stu i name stu i zhuanye stu i xiangmu save stu n 3 5 删除函数 输入想要删除的运动员的号码 而后按照号码进行查找 如果文件中存在该运动员的数据 则 采用删除算法删除 如果不存在则提示该运动员不存在 具体函数如下 void del struct student stu n char number 20 int n i j n reads stu printf n t 请输入要删除信息运动员学号 按回车键确认 scanf s number for i 0 i n printf n t t 没有找到该运动员信息 n return else for j i 1 j n j stu j 1 stu j save stu n 1 printf n t 删除成功 n 3 6 排序函数 在文件中找到参加百米赛跑的运动员的信息并将其复制到数组 a 20 中 再用冒泡排序法将其 排序 再以名次列表的形式输出 会有并列的情况 void sort 按百米赛跑成绩排序 struct student stu n temp a 10 int i j n m 0 滁州学院本科学年设计 10 char xiangmu 20 百米赛跑 n reads stu printf n t 学号 t 姓名 t 专业 t 参加的项目 t 成绩 t n for i 0 i n i if strcmp stu i xiangmu xiangmu 0 a m stu i printf n 12s 11s 11s 12s 11 2f n stu i num stu i name stu i zhuanye stu i xiangmu stu i s core for i 1 i m i for j 0 ja j 1 score temp a j a j a j 1 a j 1 temp save1 a m j 1 printf 百米赛跑成绩排序结果如下 n n printf 名次 学号 姓名 专业 百米赛跑 成绩 n printf n for i 0 i m i 输出结果并排名 if a i score a i 1 score if a i score 0 printf n 3d 12s 11s 11s 11 2f 11 2f n j a i num a i name a i zhuanye a i score a i score else printf n 3d 12s 11s t t t t n j a i num a i name a i zhuanye else printf n 3d 12s 11s 12s 11 2f 11 2f n j a i num a i name a i zhuanye a i score a i scor e 滁州学院本科学年设计 11 getchar 4 系统测试 主菜单界面 点击运行 显示主菜单 如图 4 1 所示 按菜单内容选择相应功能 图 4 1 主菜单界面 添加界面 按菜单内容选择相应功能 如图 4 2 所示 图 4 2 输入界面 滁州学院本科学年设计 12 查询界面 根据菜单 输入数字 0 进入运动员信息查询界面如图 4 3 所示 图 4 3 查询界面 显示界面 输入菜单对应的数字 进入相应程序 输入 2 显示运动员信息如图 4 4 所示 图 4 4 显示界面 滁州学院本科学年设计 13 删除界面 输入菜单对应的数字 进入相应程序 输入 3 删除运动员信息如图 4 5 所示 4 5 删除界面 更改界面 输入菜单对应的数字 进入相应程序 输入 4 修改运动员信信 如图 4 6 所示 图 4 6 更改界面 排序界面 百米赛跑 三级跳和撑杆跳的排序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 解析卷人教版(五四制)6年级数学下册期末试题附完整答案详解(名师系列)
- 骨科护理学选择题试题与答案
- 2025年新能源汽车二手车市场评估与流通政策法规解读与应对策略报告
- 2025年在线教育平台教学资源库建设与教学效果评估策略报告
- 解析卷福建省永安市七年级上册有理数及其运算章节训练试题
- 养老服务协议范本
- 威海市编导岗位国企招聘笔试题
- 2025地形图保密承诺合同涉及国家重要交通线路规划
- 2025版智慧城市照明系统日常维护及升级合同
- 2025版智慧农业管理系统软件销售与技术服务协议
- 高频变压器项目商业模式分析报告
- 杜邦安全培训课件
- 中职生开学第一课安全教育
- 16949工程变更课件
- 国宝文物运送活动方案
- 2024年德州市第二人民医院招聘备案制工作人员笔试真题
- 多重耐药菌感染防控与管理
- 护理沟通与服务课件
- 高低压配电施工设计方案
- 2025年辽宁省高考历史试卷及答案详解
- 建设公司商务管理制度
评论
0/150
提交评论