运动会计分系统_课程设计报告书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计
教学院计算机学院
课程名称高级语言程序设计Ⅱ题目运动会比赛计分系统
专业软件工程
班级(一)班
姓名包先跃
同组人员石奇、吕鹏飞、立阳
指导教师祁文青
2013 年06 月29 日
课程设计任务书
2012 ~2013 学年第2 学期
学生:包先跃专业班级:12软件工程
指导教师:祁文青工作部门:计算机学院
一、课程设计题目:运动会比赛计分系统
二、课程设计容:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数各项目名次取法有如下几种:取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1;取前3名:第一名得分5,第二名得分3,第三名得分2;
功能要求:
(1)系统以菜单方式工作
(2)由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。
(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩
(4)查看参赛学校信息和比赛项目信息等。
三、进度安排
1.分析问题,给出数学模型,选择数据结构。
2.设计算法,给出算法描述。
3.给出源程序清单。
4. 编辑、编译、调试源程序。
5. 撰写课程设计报告。
四、基本要求
1.界面友好,函数功能要划分好。
2.总体设计应画一流程图。
3.程序要加必要的注释。
4.要提供程序测试方案。
5.程序一定要经得起测试,要能运行起来,不能运行的程序是没有价值的。
目录
目录 (2)
一概述 (3)
二总体方案设计 (4)
三详细设计 (5)
5.1.1提出问题 (8)
5.1.2解决问题 (9)
5.1.3提出问题 (9)
5.1.4分析问题 (9)
5.1.5解决问题 (9)
5.1.6提出问题 (9)
5.1.7分析问题 (9)
5.1.8解决问题 (9)
5.2算法的效率及改进设想 (9)
四程序的调试与运行结果分析 (11)
(一)用户手册 (11)
(二)调试过程中出现的问题和处理方式 (15)
五课程设计总结 (16)
附录:(源程序) (17)
参考文献 (27)
一概述
1.课程设计的目的
1.理解和掌握该课程中的有关基本概念,程序设计思想和方法。
2.培养综合运用所学知识独立完成课题的能力。
3.培养勇于探索、严谨推理、实事、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
4.掌握从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
2.课程设计的要求
1)可以输入各个项目的前三名或前五名的成绩;
2)能统计各学校总分,
3)可以按学校编号或名称、学校总分、男女团体总分排序输出;
4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。
5)数据存入文件并能随时查询
6)规定:输入数据形式和围:可以输入学校的名称,运动项目的名称
输出形式:有合理的提示,各学校分数为整形
界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;
测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;
二总体方案设计
(1)运动项目定义:
typedef struct Sport //运动项目结构{
char name[20]; //运动项目名称
int isboy; //0为女项目,1为男项目
int is3; //0为取前五名,1为取前五名
int number; //项目编号
(2)主要算法的设计思想:
本程序主要是使用链表来实现操作。一个运动会包括运动项目和参加运动会的成员。因此构造两个链表Department,Sport。根据输入的不同选择不同的功能,有输入运动项目,按总分排序,按男团体总分排序,按女团体总分排序,按项目标号查询,退出。为了操作的方便,并且能够保存输入数据,所以通过文件操作来实现数据的写和读。每次添加新的数据后都要输入0退出,数据才能保存。对于总分的排序使用了冒泡排序。为了使整个程序看起来更加友好,又添加了程序启动画面。
在此次课程设计小组中我所承当的工作是:对总程序的结构体的定义,界面菜单的建立以及void funct6(ALLNode *g2) 和按学校编号查询学校某个项目情况的子函数程序编写。void funct7(ALLNode *g2) 是按学校编号查询学校某个项目情况;void funct6(ALLNode *g2):按女团体总分排序输出。(各部分解决问题详见详细设计中遇到的较重要问题的回顾)
三详细设计
3、1程序流程图
1)设计运动会的学校编号或名称、项目成绩、男女团体总分的数据存储系统设计图
图(1)
(2)查询团体总分程序设计图
图2 (3)总流程图: