c语言运动会成绩管理程序.doc_第1页
c语言运动会成绩管理程序.doc_第2页
c语言运动会成绩管理程序.doc_第3页
c语言运动会成绩管理程序.doc_第4页
c语言运动会成绩管理程序.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

数据结构程序课程设计报告数据结构程序课程设计报告 题目题目 运动会成绩管理 班级班级 xxxxx 学号学号 xxxxxxx 姓名姓名 xxx 指导教师指导教师 xxx 2011 年 11 月 14 日 2 目录目录 一 前言一 前言 1 二 问题描述二 问题描述 3 三 设计及实现要点三 设计及实现要点 4 1 程序结构体定义 4 2 程序总体设计 4 3 程序的函数设计 5 4 界面的设计 6 5 程序运行的流程图 6 四 源程序四 源程序 8 五 运行程序以及测试程序五 运行程序以及测试程序 21 1 初始化数据的测试 21 2 按键测试 21 3 功能测试 21 4 运行测试 22 六 不足之处六 不足之处 22 七 小结七 小结 22 八 参考文献八 参考文献 22 3 一 前言一 前言 随着中国加入wto 意味着我国要在同一个网络平台上参与国际竞争 同 世界接轨 这对我们既是一个机遇 也是一个挑战 信息技术也渗透到生活中的 各个领域 无论是教育 卫生 还是政治 经济无不折射出信息技术的影子 当然 体育也不会例外 尤其在2008 年的奥运会中计算机技术更是发挥的淋漓尽致 信息的传输愈加快捷 这也使得人类的生活节奏加快 人们为了赶上时代的脚 步 总在不停的吸收新的信息 为了适应这种快捷奏的生活 因此 一些简便快捷 的应用软件如雨后春笋般出现在人们的视线里 这些软件让人们在处理数据信息时 不但提高了速度 也提高了效率 为人们带来了方便 经过一个学期对 数据结构 这门课程的学习 以及平时自己做的相应的程 序设计题 为了将自己的所学知识学以致用 同时也为了提高自己的编程水平 培 养用计算机解决实际问题的能力 本报告将推出一款对运动会成绩管理的程序 它 将为我们在筹办完运动会后 让我们对分数的统计和计算 以及最终结果的查询提 供方便 数据结构作为计算机专业基础课 该课程的目标就是使学生学会如何从问 题出发 分析数据 构造求解问题的数据结构和算法 培养学生有一定进行较复杂 程序设计的能力 二 问题描述二 问题描述 运动会成绩管理系统是对运动会最终得分进行处理的程序 它包含对各个学校 总分数 男子总分和女子总分的计算 分别按学校总分 男子总分和女子总分排序 输出 还有按学校查询和按运动项目查询 以及当某项目成绩输入有误时 进行修 改和更正等一些操作 程序还有一些可供选择功能 完全的人性化 每一步都有相 应的提示 让人们知道该做什么 程序还有存入文件中 也可去文件中查看成绩 现在要求在vc 环境下运行 基基本本功功能能 1 按学校编号排序输出 2 按学校总分排序输出 3 按学校男子总分排序输出 4 按学校女子总分排序输出 5 查询某个学校成绩 6 查询某个项目成绩 7 按项目修改成绩 8 输入学校成绩 9 退出程序 4 三 设计及实现要点三 设计及实现要点 1 1 程序结构体定义 程序结构体定义 项目结构体 项目结构体 struct pro int z string name 项目名称 int snum1 4 前 3 名学校的编号 int snum 6 前 5 名学校的编号 p 21 学校结构体 学校结构体 struct school int num string name 学校名称 int score 学校总分 int male 男子总分 int female 女子总分 sch 21 2 2 程序总体设计 程序总体设计 本程序主要包括四大模块 输入输出模块 数据处理模块 查询模块和程序结 束模块 输入输出模块的主要功能是接收键盘传来的信息 将信息存入相应的结构 体里 等待信息的处理 将处理好的数据按各种形式输出并显示在屏幕上 数据处 理模块主要的功能是将接收来的数据进行处理 将数据进行计算和整理好 并再存 入结构体中 查询模块的主要功能是按照用户的要求以某种方式将处理好的数据显 示在屏幕上 程序结束模块主要功能是调用结束显示系统 结束程序 运动会成绩管理系统的整体结构 运动会成绩管理系统的整体结构 5 主循环控制模块 数据输入模块 信息查询模块 程序结束模块数据处理模块 数据输出 模块 3 3 程序的函数设计 程序的函数设计 函数原型函数功能 函数处理描述 void main 主函数 全局控制程序的运行 void input 录入信息 按提示输入运动会的成绩 void menu 菜单面板 显示功能菜单以便选择 void bianhao 编号排序 按学校的编号排序输出 void zongfentongji 总分排序 按学校的总分排序输出 void malezongfen 男子总分排序 按学校的男子总分排序输 出 void femalezongfen 女子总分排序 按学校的女子总分排序输 出 void chaxunsch 查询学校信息 按提示查询学校的分数和 名次 viod chaxunxiangmu 查询项目信息 查询任意项目的得主和相 关信息 6 void xiugaixiangmuchengji 修改项目成绩 按照项目来修改成绩 void print int i 输出显示系统 被各个排序输出函数调用 void thank 结束显示系统 程序结束时显示的内容 4 4 界面的设计 界面的设计 系统使用基本语言输入输出函数处理该程序 在输入完基本的录入信息后 用户可 通过菜单面板来选择功能来运行程序 菜单共提供了八种功能以便选择选择 分为 排序 查询和修改功能 其菜单面板如下 使用的函数及其功能使用的函数及其功能 8 5 5 程序运行的流程图 程序运行的流程图 开始 主菜单 按 学 校 编 号 排 序 输 出 按 学 校 总 分 排 序 输 出 按 学 校 男 子 总 分 排 序 输 出 按 学 校 女 子 总 分 排 序 输 出 查 询 某 个 学 校 成 绩 查 询 某 个 项 目 成 绩 按 项 目 修 改 成 绩 退 出 输 入 学 校 成 绩 结束 9 四 源程序四 源程序 include stdafx h include include include include include include include using namespace std int n n 个学校 int m m 个男子项目 int w w 个女子项目 struct pro 表示项目的结构体 int z char name 10 项目名称 int snum1 4 前 3 名学校的编号 int snum 6 前 5 名学校的编号 p 21 struct school 表示学校的结构体 int num char name 10 学校名称 int score 学校总分 int male 男子总分 int female 女子总分 sch 21 int a 101 101 int integer 3 5 3 2 int integral 5 7 5 3 2 1 评分标准设置 void input 录入信息 int i j y x printf n printf n t t 运动会成绩管理系统 n printf n 请输入学校数目 5 n 5 if y break else printf 输入数据有误 请重新输入 n for i 1 i sch i name sch i score 0 sch i female 0 sch i male 0 sch i num i printf 输入男子项目数 1 20 和女子项目数 1 20 n y 0 while 1 scanf d d if m 1 if y break else printf 输入数据有误 请重新输入 n for i 1 i m w i printf 输入第 d 项目个的名称 n i scanf s p i name printf 请选择该项目设立的奖项数 3 或 5 项 n y 0 while 1 scanf d if p i z 3 p i z 5 y 1 if y break 11 else printf 输入数据有误 请重新输入 n printf 输入第 d 个项目的前 d 名的学校编号 n i p i z for j 1 j 1 if y break else printf 输入数据有误 请重新输入 n if p i z 3 p i snum1 j x sch x score integer j 1 if i m sch x male integer j 1 else sch x female integer j 1 else p i snum j x sch x score integral j 1 if i m sch x male integral j 1 else sch x female integral j 1 ofstream outfile1 c 运动会分数总分表 txt ios out if outfile1 cerr open error endl 12 outfile1 编号 学校名称 总分 男子总分 女子总分 n endl for i 1 i n i i sch i outfile1 sch i num setw 8 sch i name setw 12 sch i score setw 12 sch i male setw 12 sch i female endl outfile1 close void print int i cout sch i num setw 13 sch i name setw 8 sch i score setw 9 sch i male setw 10 sch i female endl 按编号排序 void bianhao int i j school t for i 1 i n i for j i jsch j num t sch i sch i sch j sch j t printf n 按编号排列 n printf 编号 学校名称 总分 男子总分 女子总分 n for i 1 i n i print i 总分函数 void zongfentongji 按学校总分排序 int i j school t for i 1 i n i for j i j n j if sch i score sch j score t sch i sch i sch j sch j t 13 printf n 按学校总分排列 n printf 编号 学校名称 总分 男子总分 女子总分 n for i 1 i n i cout sch i num setw 13 sch i name setw 8 sch i score setw 9 sch i male setw 10 sch i female endl 按学校男总分排序 void malezongfen int i j school t for i 1 i n i for j i j n j if sch i male sch j male t sch i sch i sch j sch j t printf n 按学校男子总分排列 n printf 编号 学校名称 总分 男子总分 女子总分 n for i 1 i n i print i ofstream outfile1 c 运动会男子总分排序表 txt ios out if outfile1 cerr open error endl outfile1 编号 学校名称 总分 男子总分 女子总分 n endl for i 1 i n i i sch i outfile1 sch i num setw 8 sch i name setw 12 sch i score setw 12 sch i male setw 12 sch i female endl outfile1 close 按学校女总分排序 void femalezongfen int i j school t 14 for i 1 i n i for j i j n j if sch i female sch j female t sch i sch i sch j sch j t printf n 按学校女子总分排列 n printf n 编号 学校名称 总分 男子总分 女子总分 n for i 1 i n i print i printf n ofstream outfile1 c 运动会女子总分排序表 txt ios out if outfile1 cerr open error endl outfile1 编号 学校名称 总分 男子总分 女子总分 n endl for i 1 i n i i sch i outfile1 sch i num setw 8 sch i name setw 12 sch i score setw 12 sch i male setw 12 sch i female 1 if y break else printf 输入数据有误 请重新输入 printf 该学校相关信息 n printf n 编号 学校名称 总分 男子总分 女子总分 n 15 for i 1 i n i if sch i num s print i break cout 1 if y break else printf 输入数据有误 请重新输入 if p s z 3 printf 前 3 名学校编号及名称为 n printf 名次 t 编号 t 学校名称 n for i 1 i 3 i cout i setw 12 p s snum1 i setw 12 sch p s snum1 i name endl cout endl else printf 前 5 名学校编号及名称为 n printf 名次 t 编号 t 学校名称 n for i 1 i 5 i cout i setw 12 p s snum i setw 12 sch p s snum i name endl cout endl 16 按项目修改成绩 void xiugaixiangmuchengji int i j k x y printf 输入需要修改的项目编号 n y 0 while 1 scanf d if k0 y 1 if y break else printf 输入数据有误 请重新输入 n if p k z 3 for i 1 i p k z i if k m sch p k snum1 i score sch p k snum1 i score integer i 1 sch p k snum1 i male sch p k snum1 i male integer i 1 else sch p k snum1 i score sch p k snum1 i score integer i 1 sch p k snum1 i female sch p k snum1 i female integer i 1 else for i 1 i p k z i if k m sch p k snum i score sch p k snum i score integral i 1 sch p k snum i male sch p k snum i male integral i 1 else 17 sch p k snum i score sch p k snum i score integral i 1 sch p k snum i female sch p k snum i female integral i 1 printf 输入第 d 个项目设立的奖项数 3 或 5 项 n k y 0 while 1 scanf d if p k z 3 p k z 5 y 1 if y break else printf 输入数据有误 请重新输入 n printf 输入第 d 个项目的前 d 名的学校编号 n k p k z for j 1 j 1 if y break else printf 输入数据有误 请重新输入 n if p k z 3 p k snum1 j x sch x score integer j 1 if k m sch x male integer j 1 else sch x female integer j 1 else p k snum j x 18 sch x score integral j 1 if k m sch x male integral j 1 else sch x female integral j 1 程序结束显示系统 void thank int i char thank1 谢 谢 使 用 for i 0 i 4 i printf s thank1 i sleep 300 char thank2 k u n z a i e r for i 0 i 10 i printf s thank2 i sleep 100 char thank3 运 动 会 成 绩 管 理 系 统 for i 0 i 9 i printf s thank3 i sleep 300 printf n char thank4 b y e b y e for i 0 i 8 i printf s thank4 i sleep 100 cout endl sleep 500 19 菜单面板 void menu printf 欢迎使用运动会成绩管理系统 n printf t 1 按学校编号排序输出 n printf t 2 按学校总分排序输出 n printf t 3 按学校男生总分排序输出 n printf t 4 按学校女生总分排序输出 n printf t 5 查询某个学校成绩 n printf t 6 查询某个项目成绩 n printf t 7 按项目修改成绩 n printf t 8 输入学校成绩 n printf t 0 退出程序 n printf 选择您需要的操作 选择序号 n 主函数 void main char s 5 const m 30 menu char choose bool flag while flag choose getchar switch choose case 1 system cls printf 你选择的是按学校编号排序输出功能 n system pause system cls bianhao system pause system cls menu getchar break case 2 system cls printf 你选择的是按学校总分排序输出功能 n system pause 20 system cls zongfentongji system pause system cls menu getchar break case 3 system cls printf 你选择的是按学校男生总分排序输出功能 n system pause system cls malezongfen system pause system cls menu getchar break case 4 system cls printf 你选择的是按学校女生总分排序输出功能 n system pause system cls femalezongfen system pause system cls menu getchar break case 5 system cls printf 你选择的是查询某个学校成绩 n system pause system cls chaxunsch system pause system cls menu getchar break case 6 system cls printf 你选择的是查询某个项目成绩 n system pause 21 system cls chaxunxiangmu system pause system cls menu getchar break case 7 system cls printf 你选择的是按项目修改成绩功能 n system pause system cls xiugaixiangmuchengji system pause system cls menu getchar break case 8 system cls system pause system cls input system pause system cls menu getchar break case 0 char s1 5 n system cls printf 你确定要退出系统 y n n scanf s s if strcmp s s1 system cls thank sleep 500 exit 0 else system cls menu 22 getchar 五 运行程序以及测试程序五 运行程序以及测试程序 程序的基本功能在前面已经大概的说了 分为八个功能 在录入完数据后 就 可逐一的对其功能进行测试了 在使用程序时可以看出它的操作是比较简单的 因 此它的测试也比较简单 主要的测试有 程序的界面是否按照设想绘制而成 设置 的功能是否实现 系统能否正常结束等 1 1 初始化数据的测试 初始化数据的测试 在程序开始前 需要输入一些

温馨提示

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

评论

0/150

提交评论