版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、湖湖南南科科技技大大 学学 课程设计报告课程设计报告 设计题目设计题目 运动会分数统计程序的设计运动会分数统计程序的设计 院院 系系: : 专业班级专业班级: : 学学 号号: : 学生姓名学生姓名: : 指导教师指导教师: : 2010 年年 12 月月 30 日日 目录目录 1叙述叙述.2 1.1功能要求.2 1.2程序描述.2 1.3主要模块描述.3 1.4功能结构.4 1.5流程图.10 1.6采用的算法.16 2课程设计总结课程设计总结.17 3附录(参考文献)附录(参考文献).18 1.1 功能要求 基本要求: 1)输入各个项目的前三名或前五名的成绩; 2)能统计各学校的总分; 3
2、)可以按学校编号、学校总分输出、男女团体总分输出 4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取 得前三或前五的学校 拓展功能: 可以输入学校名称,运动项目的名称 1.2 程序描述 本程序通过建立结构体然后对学校数及名称、男女项目数及其所取名次、 项目名及其对应学校编号录入,然后根据所要的输出方式进行排序输出。 1.3 主要模块描述主要模块描述 int main() SchEnter(); /学校录入 ProjectEnter(); /项目录入 MarkEnter(); /成绩录入 MenuSelect(); /菜单选择 return 0; void MenuSelect()
3、switch(z) case 1:RuajData();break; / 学校编号排序输出 case 2:TotalSort(1);break; / 学校总分排序输出 case 3:BoySort();break; /学校男生总分排序输出 case 4:GirlSort();break; /学校女生总分排序输出 case 5:NoQuery();break; / 查询某个学校成绩 case 6:SchQuery();break; / 查询某个项目成绩 case 7:SaveData();break;/退出保存 1.4 功能结构 该程序应具有的功能有输入,计算,排序,查看成绩,保存退出。 主函数
4、 学校录入 项目录入 成绩录入 菜单选择 学校编号 排序 退出保存 查询某个 项目成绩 查询某个 学校成绩 学校女生 总分排序 学校男生 总分排序 男总分 学校总分 排序 1:输入 (1)功能描述:实现学校数和学校名、男女项目数和项目名以及成绩取前 五的项目编号的录入,以及成绩的初始化和计算。 (2)设计说明:为了使入字母程序不产生错误使用了 atoi 函数,为了使屏 幕简洁化使用了清屏函数 system(cls)。 (3)操作说明:输入学校数目、男女项目数都得在 1-20 之间,成绩取前 五的编号不得大于男女项目数的总和,学校名称、项目名称、成绩取前五的编 号不得重复。 学校录入的效果图如下
5、 如果输入的学校数目不是 1-20 则会提示出错,假如输入的学校名重 复则会提醒你与第几个重复并要求重新输入。其效果图如下: 项目录入效果图如下: 如果输入的男女项目数不是 1-20 则会提示出错,假如输入名次取前 五的编号及项目名称重复则会提醒你与第几个重复并要求重新输入。其效果图 如下: 成绩录入效果图如下: 如果输入数字不在 1-w+m(这里 w,m 分别取 3)之间则会提示你出错, 要求你重新输入;效果图如下: 2菜单选择 (1)功能说明:给出功能选项 (2)设计说明:使用了 switch()函数,进行选项选择,为了使入字母程序 不产生错误使用了 atoi 函数。 (3)操作说明:这里
6、只有 7 个功能,所以我们只能选择 1-7 之间的选项。 其效果图如下: 假如输入的不是 1-7;则会提示出错,效果图如下: 学校编号排序输出 功能说明:按编号排列顺序输出 其效果图如下: 学校总分排序 功能说明:按总分排列顺序输出 其效果图如下: 学校男生总分排序 功能说明:按学校男生总分排列顺序输出 其效果图如下: 学校女生总分排序 功能说明:按学校女生总分排列顺序输出 其效果图如下: 查询某个学校的成绩 功能说明:根据所选的编号输出学校成绩。 设计说明:通过比较找到所选编号数据然后输出,为了使入字母程序不产 生错误使用了 atoi 函数。 操作说明:编号数要在 1-n 之间,否则会提示出
7、错。 其效果图如下: 如果输入的编号不是 1-n 则会提示你输入错误: 查询某个项目的成绩 功能说明:根据所选的项目编号输出项目名,及其获得名次的学校。 设计说明:通过比较找到所选编号数据然后输出,为了使入字母程序不产 生错误使用了 atoi 函数。 操作说明:编号数要在 1-w+m 之间,否则会提示出错。 其效果图如下: 如果输入的编号不是 1-w+m 则会提示你输入错误: 退出保存 功能说明:fout.open()函数生成一个 txt 文档然后按总分排序读入成绩。 设计说明:通过 fout.open()函数生成一个 txt 文档,然后按总分排序将数据 读入这个 txt 文档,如果选择退出,
8、会执行 exit(0) 。 操作说明:输入 y 退出,其他返回主菜单。 其效果图如下: 1.5 流程图 主模块: 开始 学校输入 项目输入 成绩录入 主菜单 i 学校 编号 排序 输出 校录 入 学校 总分 排序 分排 序目 录入 学校 男生 总分 排序 排序 绩录 入 学校 女生 总分 排序 查询 某个 学校 成绩 查询 某个 项目 成绩 保存 退出 Y/N i=1i=2i=3i=4i=5i=6i=7 Y N 学校输入; i=1; 开始 1=n=20 Y N 输入 name 判断与前面的名 称是否相同 i+; in 数据初始化 结束 N Y N Y 输入n 项目输入: i=1; 开始 输入
9、m,w 1=m=20 1=w=20 Y N 输入 name 判断与前面的 名称是否相同 i+; iw+m N Y N Y 是否有成绩取前 五的项目 输入编号 编号是否正确 确 前五的项目是 否输入完 结束 Y N Y N Y N 成绩录入: 开始 i=1;j=1; 判断是否为成绩 取前五的项目 Y 输入学校编号 X; j=5; 输入学校编号 X; 1=x=n; Proi.snumj=x; schx.score+=integralj-1; if(i=m)schx.male+=integralj-1; else schx.female+=integralj-1; j+; Proi.snumj=x;
10、 schx.score+=Integralj-1; if(i=m)schx.male+=Integralj-1; else schx.female+=Integralj-1; j+; j=3; i+;j=1; i=w+m; 1=xschj.num t=schi;schi=schj; schj=t; j+; j=n; i+; i=n; i=1; print(i);i+; i=n; 结束 YY Y N N N 1.6 采用的算法 因为我们要进行排序,所以我们会用到线性表。 typedef struct int num; /学校的编号 string name; /学校名称 int score; /学
11、校总分 int male; /男子总分 int female; /女子总分 sch21; 学校的编号排序 Status Arrange() for(i=1;in;i+) for(j=i;j=n;j+) if(schi. num schj. num) schischj; /Arrange 学校总分排序 Status Arrange() for(i=1;in;i+) for(j=i;j=n;j+) if(schi. score schj. score) schischj; /Arrange 学校男子总分排序 Status Arrange() for(i=1;in;i+) for(j=i;j=n;j
12、+) if(schi. male schj. male) schischj; /Arrange 学校女子总分排序 Status Arrange() for(i=1;in;i+) for(j=i;j=n;j+) if(schi. female schj. female) schischj; /Arrange 这些算法的时间复杂度都是 f(n)。 2课程设计总结课程设计总结 在这个程序当中用到的函数有system(cls):作用使屏幕整洁;atoi:把字符转化成 数字,解决输入数字的地方输入字目程序出错;switch:实现功能选择,exit:退 出函数;fout.open():实现文档保存。 改进设想:可以增加运动员及其编号,和其每个运动员所拿到的积分数进行排 名。 所遇问题 1:输入重复的学校、项目名称以及前五的编号时程序无法识别。 解决方法:输入的编号先跟前面的比较看是否重复,如果重复就提示与哪个重 复。 所遇问题 2:输入数字处输入字母会程序出错 解决方法:使用 atoi 函数进行转换。 备注:这里调试所用学校数:6 分别为: 1.中南
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河北省定州市高二生物下册期末考试模拟卷(各地真题)附答案
- 2025年吉林省舒兰市高二生物下册期末考试模拟卷及答案(必刷)
- 2026年四川省华蓥市高二生物下册期末考试考试卷含答案【综合卷】
- 2026年湖北省枣阳市高二生物下册期末考试检测卷含完整答案(必刷)
- 2026年广东省连州市高二生物下册期末考试模拟卷含答案(黄金题型)
- 2025年辽宁省北镇市高二生物下册期末考试模拟卷及完整答案【考点梳理】
- 新闻记者证考试(新闻采编实务)考前模拟试题及答案(2025年广西钦州市)
- 塔城地区注册测绘师考试真题及答案(测绘案例分析)()
- 山东注册测绘师考试(测绘案例分析)题库及答案(2025年)
- 2026年消防员文员面试题及答案
- 2025年公路水运工程试验检测《公共基础》检师真题及答案
- 四川省2025年6月普通高中学业水平合格性考试地理试卷(含答案)
- SJG 70-2020人行天桥和连廊设计标准
- GB/T 12232-2025通用阀门法兰连接铁制闸阀
- 2024~2025学年上海市青浦区统编版四年级下册期末考试语文试卷
- 雨课堂在线学堂《运动与健康》课后章节测试答案
- 2025成人高考高起专语文历年真题及解析
- 2025年国家开放大学(电大)《政治学导论》期末考试复习题库及答案解析
- 天龙功放AVR-X2000中文说明书
- 比亚迪公司偿债能力分析及改进对策
- 九年级化学上册 5.3 化合价说课稿 (新版)北京课改版
评论
0/150
提交评论