C语言课程设计-运动会分数统计系统.doc_第1页
C语言课程设计-运动会分数统计系统.doc_第2页
C语言课程设计-运动会分数统计系统.doc_第3页
C语言课程设计-运动会分数统计系统.doc_第4页
C语言课程设计-运动会分数统计系统.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

0 应用技术学院 课 程 设 计 报 告 课程名称课程名称 C C 语言课程设计语言课程设计 课题名称课题名称 运动会分数统计系统运动会分数统计系统 专专 业业 机械设计制造及其自动化机械设计制造及其自动化 班班 级级 0781 学学 号号 200713090125 姓姓 名名 贺友来贺友来 指导教师指导教师 王王 颖颖 20082008 年年 7 7 月月 8 8 日日 1 湖南工程学院 课 程 设 计 任 务 书 课程名称 C 语言课程设计 课 题 运动会分数统计系统 专业班级 电气工程及其自动化 学生姓名 贺友来 学 号 200713090125 指导老师 王颖 审 批 任务书下达日期 2008 年 6 月 20 日 任务完成日期 2008 年 7 月 8 日 2 C 语言程序课程设计任务书语言程序课程设计任务书 一一 课程设计性质与目的 课程设计性质与目的 C 语言程序设计是一门实践性很强的课程 C 程序课程设计是学习 C 语言 程序设计的非常重要的实践环节 通过本课程设计使学生进一步巩固课堂所 学 全面熟悉 掌握 C 语言程序设计的基本方法和技巧 进一步提高编写 程 序 分析程序及上机操作 调试程序的能力 让学生加深理解书上所学的知识 提高动手操作能力及分析问题和解决问题的能力 二二 课程设计包含的知识点 课程设计包含的知识点 1 掌握并熟练利用 C 语言的基本数据类型与各种表达式 程序的流程控制语 句 2 掌握数组的基本概念 掌握一维数组与二维数组的使用 掌握字符数组与 字符串的关系 3 熟练掌握指针 地址 指针类型的概念及其使用 掌握指针变量的定义与初 始化 指针的间接访问和表达式 掌握指针与数组 函数 字符串的联系 4 掌握函数的定义 函数的返回值 函数的调用 函数的声明 函数的形式参 数和实际参数之间的关系 了解函数的作用区间 5 掌握结构体的概念 结构体类型的定义 结构体变量的定义和初始化 结构 体成员的表示 结构体与指针 函数的关系 三三 课程设计的要求课程设计的要求 1 学生从以下八个题目中任意选择并完成一个题目 要求每个学生能够独立思 考 并按时完成本课程设计所包含的所有内容 2 要求学生必须按照课程设计报告的完整格式说明设计内容 设计任务 分析 过程和算法 给出程序流程图和全部源程序 并做出总结 3 设计报告的完整格式应包含以下内容 a 设计总体思路 3 b 主程序及各个模块说明 c 总体模块框图 d 各个程序模块说明 e 程序流程图 f 程序清单 g 总结与体会 四 时间安排四 时间安排 时间上午下午晚上 1 4 节 四学时 5 6 节 四学时 7 00 10 00 四学时 6 月 30 号布置课题 讲解题目 7 月 1 号 7 月 2 号上机编程 7 月 3 号上机编程 7 月 4 号上机编程 五 课程设计考核办法 五 课程设计考核办法 根据学生所完成课程设计报告的完整性 正确性 和算法实现的质量 分为 优 良 中 及格和不及格五个等级 六 课程设计指导老师 六 课程设计指导老师 王颖 七 课程设计题目 七 课程设计题目 设计课题 设计课题 运动会分数统计系统运动会分数统计系统 4 1 问题描述 问题描述 制作一个运动会分数统计系统 用于统计各个运动员得分情况 由三名裁 判给分 统计总分和平均得分 并进行比较排名 在此功能上 完成查找 插入 追加 删除等功能 并可以进行文件的保存和调用 2 功能描 功能描述述 1 比赛中 输入运动员编号 姓名 各个评委给出的分数 可由系 统完成进行统计总分 平均分 排名功能 2 如果输入的运动员成绩出现什么问题 可进行删除并重新编入 3 可以根据运动员姓名查找其成绩 4 将数据用文件进行保存 需要时也将文件调用 3 算法提示 算法提示 1 用简单的程序设计方法 2 一定的窗口设计技巧 3 简单的数据类型 4 测试数据 测试数据 编号姓名评委 1评委 2评委 3总分平均分排名 100wsw809070240801 101Gsg604050150502 5 5 其它 其它 对该系统有兴趣的同学可以在实现上述基本功能后 完善系统的其它 功能 如评委人数的设置 除去一个最低分和最高分功能 添加个按编号 查找等 课程设计报告规范课程设计报告规范 需求分析需求分析 1 程序的功能 2 输入输出的要求 概要设计概要设计 1 程序由哪些模块组成以及一个模块之间的层次结构 模块的调用关系 每个模块的功能 2 课题的总体数据结构和数据库结构 即要存储什么数据 这些数据是什 么样的结构 它们之间有什么关系等 详细设计详细设计 1 采用 C 语言定义相关的数据类型 2 写出各模块的类 C 码算法 3 画出函数的调用关系图 调试分析以及设计体会调试分析以及设计体会 1 测试数据 准备典型的测试数据和测试方案 包括正确的输入及输出结 果和含有错误的输入及输出结果 2 程序调试中遇到的问题以及解决问题的方法 3 课程设计过程经验教训 心得体会 6 使用说明使用说明 用户使用手册 说明如何使用你编写的程序 详细列出每一步的操作步骤 附录附录 1 参考书目 2 源程序清单 带注释 附附 1 1 课程设计报告装订顺序 封面 任务书 目录 正文 评分 附件 A4 大 小的图纸及程序清单 正文的格式 一级标题用 3 号黑体 二级标题用四号宋体加粗 正文用小四号 宋体 行距为 22 正文的内容 一 课题的主要功能 二 课题的功能模块的划分 要求画出 模块图 三 主要功能的实现 至少要有一个主要模块的流程图 四 程序调试 五 总结 六 附件 所有程序的原代码 要求对程序写出必 要的注释 正文总字数要求在 5000 字以上 不含程序原代码 7 前 言 C 语言程序设计 课程设计是对学生的一种全面综合训练 它包括问 题分析 总体结构设计 用户界面设计 程序设计基本技能和技巧 多人合 作 以至一整套软件工作规范的训练 是与课堂听讲 自学和练习相辅相成 的必不可少的一个教学环节 通常 课程设计的课题比平时的习题复杂得多 也更接近实际 课程设计着眼于与应用的结合点 使学生学会如何把书上学 到的知识用于解决实际问题 培养软件工作所需要的动手能力 另一方面 能使书上的知识变 活 使学生更好地深化理解和灵活掌握教学内容 为 了达到上述目的 本课程设计安排了八个设计课题 训练重点在于基本的程 序设计方法和分析问题的能力 而不强调面面俱到 学生可任选其中一题进 行设计 设计完毕写出课程设计报告 并将课程设计报告与源程序存盘 学 习委员将课程设计报告与磁盘收齐后交指导老师 一 目的一 目的 全面熟悉 掌握 C 语言基本知识 掌握 C 程序设计中的顺序 分支 循环 三种结构及数组 函数和 C 语言基本图形编程等方法 把编程和实际结合起来 增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领 熟悉 编制和调试程序的技巧 掌握分析结果的若干有效方法 进一步提高上机动手 能力 培养使用计算机解决实际问题的能力 养成提供文档资料的习惯和规范 编程的思想 为以后在专业课程中应用计算机系统解决计算 分析 实验和设 计等学习环节打下较扎实的基础 二 设计要求二 设计要求 掌握结构化程序设计的主体思想 以自顶向下逐步求精的方法编制程序解 决一些实际的问题 为将来编写软件积累一些典型的案例处理经验 1 设计正确 方案合理 2 界面友好 使用方便 8 3 程序精炼 结构清晰 4 设计报告 5000 字以上 含程序设计说明 用户使用说明 源程序清 单及程序框图 5 上机演示 6 按学号顺序选课题号 并在规定的时间内独自完成相关课题的 C 源程 序编写 调整和运行 源程序及编译生成各文件均保存在软盘中 7 务书的要求 按附录的要求编写 课程设计报告 Word 文档格式 并用 A4 的复印纸打印并装订 8 08 年 3 月 22 日之前 请各班班长收齐课程设计报告和源程序软盘交 王颖老师 联系电话 8883238 9 目目 录录 课程设计主文档课程设计主文档 10 一 课程设计题目 10 二 内容摘要 10 三 关键字 10 四 总体设计方案的选定 10 五 概要设计 11 1 程序的模块组成 11 2 各函数的主要功能 11 六 详细设计 12 1 函数间的调用关系图如下 12 2 流程图 13 七 心得体会 14 八 附录 15 源程序清单 15 九 评分 28 10 课程设计主文档课程设计主文档 一 一 课程设计题目 课程设计题目 运动会分数统计系统 二二 内容摘要 内容摘要 该系统是一个简单的运动会分数统计系统 能够方便裁判统计各个运动员 的得分情况并进行比较排名 其功能包括 创建记录 删除记录 追加记 录 记录保存 记录调用 三三 关键字 关键字 分数统计系统 四 总体设计方案的选定 四 总体设计方案的选定 程序的功能 要实现对成绩统计进行统一有效的管理需要通过用函数 数据类型 C 语句 控制语句 函数调用语句 表达式语句 复合语句等 来实现 由于是要求统计各个运动员的成绩 所以必须创建一个类似于表格样 的程序 再将各个数据进行填写 更改 删除等 也就要求程序必须由许多分 支程序 这些程序用调用程序来连接 11 五 概要设计五 概要设计 1 程序的模块组成 程序的模块组成 主菜单函数 主函数 void main 自定义初始化函数 SPORTS init 自定义创建链表函数 SPORTS create 自定义删除记录函数 SPORTS delete SPORTS h 自定义显示所有记录函数 void print SPORTS h 自定义查找函数 void search SPORTS h 自定义保存函数 void save SPORTS h 自定义读入记录函数 SPORTS load 自定义插入记录函数 SPORTS insert SPORTS h 自定义追加记录函数 void append 自定义复制文件函数 void copy 2 各函数的主要功能 各函数的主要功能 主函数 显示主菜单 自定义初始化函数 重新进入主菜单 消除以前的记录 自定义创建链表函数 创建一个新的表格进行运动员分数的统计 自定义删除记录函数 删除选定的运动员的成绩 自定义显示所有记录函数 将所有运动员成绩显示出来 自定义查找函数 根据姓名查找运动员的成绩 自定义保存函数 将统计的结果用文件进行保存 自定义读入记录函数 读入被保存的文件 自定义插入记录函数 插入新的数据 12 详细设计 详细设计 1 函数间的调用关系图如下 函数间的调用关系图如下 选择功能 创建链表 显示所有记录 查找 保存 读入记录 插入记录 退出系统 删除记录 13 2 流程图 流程图 主菜单 开始 选择功能 创建链表 显示所有记录 查找 保存 读入记录 插入记录 退出系统 删除记录 结束 14 七 心得体会七 心得体会 经过一周的时间 我不但实践了课本的所学的知识 还亲自制作了自己的 程序 感觉自己对 C 语言有了更深入的了解 课程设计可以说是分几步完成的 首先必须有个整体的构思 知道自己要 去完成一个什么样的程序 然后分析这个程序的主干和枝干 再逐步将它们一 个个完成 将它们连接起来 最后完善整个程序 当然 这只是一种思想 落 到实践中就每个环节都会碰到或多或少的困难 这也是最考验我的地方 有的 时候我必须考虑如果要完成这个目的 应该选些什么函数合适 于是就需要翻 阅笔记 书籍或者问同学老师 经过长时间的思考和求索 我最终也就有了答 案 在整个设计过程中 我觉得最烦琐的事要属调试程序了 因为辛辛苦苦构 思出来的程序等到运行的时候我并没有看到预期的结果 而是 ERROR 这 也就不得不一遍一遍地检查 并且 WIN TC 不能显示错误的位置 这真的是个 很麻烦的事情 有的时候我会心理发慌 有的时候我打算放弃 但是 想着自 己很辛苦的写了这么久 还是不想放弃 我开始慢慢去找我出的问题 我从头 到尾检查了一面 终于发现了问题之所在 就这样我把错误慢慢地减少 最后 编成功了 心里是非常快乐的 同时也让我真正体会到一句话 有志者 事 竟成 事实上最麻烦的事不是语法的错误 因为这可以检查的出来 而是逻辑的 错误 这可是个大麻烦啊 通过本次课程设计的学习 我体会到学好计算机一定要重视实践环节 不 仅是在学习 C 语言 还是其他计算机语言都是一样的重要 所以我以后在学习 过程中更加重视实践环节的重要性 这样我相信自己的计算机水平一定会取得 更好的进步 我总结了一下本次程序课程设计主要用了函数的调用 if else 选择语句 switch 语句 时间函数 标准输入输出 随机取整函数等基本知识点 结合课 本知识加上自己的应用最终取得成功 C 语言是一项细致深入的工作 不仅要有严谨的思路 还要在实践中有耐 心 要细心 这一点我亲身体会到了 15 最后 感谢在 C 语言学习及课程设计中对我指导的老师和同学 附录 附录 六 源程序清单 六 源程序清单 include include FILE fp int a 100 10 定义一个二位数组用来存放运动员 成绩 int stu inputx gotoxy 15 13 textcolor RED printf please input the nun of sportmeeting man scanf d input 输入运动员成绩 int i for i 1 i stu i 16 scanf 8d 8d 8d 8d 8d 8d print1 输出成绩表 并求 total 平均分和排名次 int i j int b 100 c 100 int t loc k fp fopen 成绩表 txt w for i 1 i stu i 求 total 和平均分 a i 7 0 for j 2 j 6 j a i 7 a i 7 a i j a i 8 a i 7 5 for i 1 i stu i 排名 b i a i 7 c i i 17 for i 1 i stu 1 i loc i for j i 1 jb loc loc j if loc i t b i b i b loc b loc t t c i c i c loc c loc t for i 1 i stu i for k 1 k stu k if c k i a i 9 k break for i 1 i stu i 输出成绩表 for j 1 j 9 j 18 printf 6d a i j printf n 以下输出成绩表存到一个文件中 fprintf fp nun ref1 ref2 ref3 ref4 ref5 total ave 名次 n for i 1 i stu i for j 1 j 9 j fprintf fp 6d a i j fprintf fp n print2 求各科 total 和平均分 int i j int m 3 6 for j 2 j 6 j m 1 j 1 0 for i 1 i stu i m 1 j 1 m 1 j 1 a i j 19 m 2 j 1 m 1 j 1 stu for i 1 i 2 i for j 1 j 5 j printf 6d m i j printf n change 修改运动员成绩 int m b c i n 0 printf 请输入您要修改的运动员的 nun scanf d printf 1 ref1 2 ref2 3 ref3 4 ref4 5 ref5 n printf 请选择您要修改的科目 scanf d printf 请输入新的运动员成绩 scanf d for i 1 i stu i if m a i 1 n else 20 n break a n b 1 c printf n 重新输出成绩表 n printf nun ref1 ref2 ref3 ref4 ref5 total ave 名次 n print1 go go 选择菜单 int n printf n 现在您将会遇到以下几种情况 n printf 1 继续查询 2 修改数据 3 重新运行 4 结束程序 n printf 请您根据需要按键选择 scanf d if n 1 find if n 2 change if n 3 main if n 4 clrscr 21 printf 感谢您使用本程序 n printf 这是我编写的第一个系统程序 为了感谢您的使用 请 到 7306 寝室找周帆 n printf n n printf 再次感谢您的使用 n printf ByeBye getch find1 按名次查询运动员成绩 int n i printf 请输入您要查询的运动员的名次 scanf d printf 名次 nun ref1 ref2 ref3 ref4 ref5 total ave n for i 1 i stu i if n a i 9 printf 6d 6d 6d 6d 6d 6d 6d 6d 6d a i 9 a i 1 a i 2 a i 3 a i 4 a i 5 a i 6 a i 7 a i 8 22 break printf n go find2 按 nun 查询运动员成绩 int n i printf 请输入您要查询的运动员的 nun scanf d printf nun ref1 ref2 ref3 ref4 ref5 total ave 名次 n for i 1 i stu i if n a i 1 printf 6d 6d 6d 6d 6d 6d 6d 6d 6d a i 1 a i 2 a i 3 a i 4 a i 5 a i 6 a i 7 a i 8 a i 9 break printf n go 23 find3 1 int n 输出科目查询结果 int i printf nun 名次 ref1 ref2 ref3 ref4 ref5 total ave n for i 1 i 90 printf 6d 6d 6d 6d 6d 6d 6d 6d 6d a i 1 a i 9 a i 2 a i 3 a i 4 a i 5 a i 6 a i 7 a i 8 printf n go find3 科目选择菜单 int n printf 现有以下五种科目供查询 n printf 1 ref1 2 ref2 3 ref3 4 ref4 5 ref5 n printf 请按键选择 24 scanf d find3 1 n find 查询方式菜单 int m printf 根据您的要求 有以下 3 种查询方式 n printf 1 按名次查询 n printf 2 按 nun 查询 n printf 3 查询某科成绩在 90 分以上的运动员的情况 n printf 现在 按照您的需要请按键 scanf d if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论