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