数据结构大作业--运动会分数统计(共20页).doc
《数据结构大作业--运动会分数统计(共20页).doc》由会员分享,可在线阅读,更多相关《数据结构大作业--运动会分数统计(共20页).doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 数据结构课程设计大作业班 题 目 运动会分数统计 专 业 计算机科学与技术 学生姓名 赵志强 学 号 39 指导教师 唐国民 完成日期 2010.12.2 湖州师院信息与工程学院专心-专注-专业目 录运动会分数统计【内容摘要】问题描述:参加运动会有n个学校,学校编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m=20,n=20)功能要求:1) 可以输入各个项目的前三名或前五名的成绩;2
2、) 能统计各学校总分,3) 可以按学校编号或名称、学校总分、男女团体总分排序输出;4) 可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前 三或前五名的学校。5) 数据存入文件并能随时查询 6) 规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称 输出形式:有中文提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;测试数据:
3、要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明。【关键字】运动会分数统计,线性表,链表,遍历【Abstract】Description:There are various schools participate in the games, and stamp them from 1. n. Competition is divided into N male project, and N female project. Project Numbers for man from 1 to M, womens f
4、rom m + 1 to M + w. Different project take the top five or top three points; The top five points respectively is: 7, 5, 3, 2, 1,and the top three points respectively is: 5, 3, 2,;Which to take the top five or top three set by the students themselves. (m = 20, n = 20)Functional requirements:1) can en
5、ter each item the top three or top five result,2) can calculate each schools total score,3) men and women groups total score sorting results can output according to the school numbers or name, school total score. 4) can follow the school Numbers inquires the school for a specific project; Can be obt
6、ained by project Numbers inquires topthree or top five schools.5) data files, and can deposit enquiries6) regulation: input data form and scope: can enter the school name, the name of the sportOutput format: Chinese clew, each school grades for plasticInterface requirements: there is a reasonable hi
7、nt, each function may establish menu, according to the prompt, can complete the relevant function requirement.Storage structure: the students themselves according to your own design system function requirements, but it will require games and related data to stored in data file. (data file of reading
8、 and writing data method and other related content in c language program design book, please self-study solve) please last due in material storage structure of where you use,Test data: require all legal data; 1, 2, the overall illegal data; 3, local illegal data. Test procedures, to ensure the stabi
9、lity of the program. Test data and test results of material in submission, please state.【Key words】Sports scores statistics,Linear list,Linked list,seek一、 实验内容概述这次课程设计题目是运动会的分数统计系统,它要求参加运动会的n个学校编号为1n。比赛分成m个男生项目和w个女生项目,项目编号为1-m和m+1-m+w。由于各项目参加人数差别比较大,有些项目取前五名,得分的顺序为7,5,3,2,1;还有些项目只能取前三名,得分顺序为5,3,2。需要
10、产生各学校的成绩单和团体总分报表。为了实现这个程序,调用了多个子函数。save函数是实现对数据的存储,getchar函数是从stdin流中读取字符,system函数是向系统发出一个DOS命令程序中用到的system(“pause”);其功能是运行的时候就可以出现:“请按任意键继续”,由于在这个从程序中的下一条命令是返回主菜单界面若不加一条命令的话,就会使显示是清屏。malloc函数的功能是内存分配如:gl=(ALLitems*)malloc(sizeof(ALLitems)g2=(ALLNode*)malloc(sizeof(ALLNode);就是g1和g2指针非配内存地址空间大小。函数fcl
11、ose的功能是关闭数据流,如程序中用到的flose(fp2)就是将fp2文件的数据流关闭,用在本程序的save函数中,当执行funct1输入信息保存后关闭当前信息流。程序中自定义的funct1-8的功能分别是:funct1():输入各个项目成绩并存储文件funct2():统计各学校总分funct3():按学校编号排序输出funct4():按学校总分排序输出funct5():按男团体总分排序输出funct6():按女团体总分排序输出funct7():按学校编号查询学校某个项目情况funct8():按项目编号查询取得名次的学校funct0():退出最后是主函数main()它是所有程序运行的入口二、
12、 实验目的概述“数据结构”是计算机科学与技术专业一门十分重要的专业技术基础课,计算机科学各领域及有关的应用软件都要使用到各种数据结构。在我国,“数据结构与算法”已经作为理工科非计算机专业必修的信息技术基础课程之一。世界上许多科技人员对学习、研究数据结构和算法都非常重视,对于从是计算机科学及其应用的科技工作者来说,数据结构与算法更是必须透彻的掌握的重要基础。 学习数据结构与算法的最终目的是解决实际的应用问题,特别是非数值计算类型的应用问题,课程设计是加强学生实践能力的一个强有力的手段。作为一名计算机专业的学生,通过对计算机课程两年的学习,掌握C+和数据结构,在完成课程设计和变成过程中,要深化对数
13、据结构与算法课程中的基本概念、理论和方法的理解,训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念,在老师的指导下完成最少换车次数问题,把自己所学的理论用具体的问题来解决,更加直接,易懂。提高程序设计与调试水平。在通过学习数据结构,我们要掌握数据结构的各个算法,运用学过的算法去解决实际中的问题,将数据结构用用武之地,也能提高我们的运用能力和编写程序的能力,对我们的技能也有进一步的提高,对我们的未来之路铺路搭桥。在这个实验中,我主要是类的成员函数去解决问题,除了学习到C语言的知识外,同样还学习到C+的知识,对我的知识也有很大扩展,将C和C+相结合,达到共同解决问题的目的。在这个运
14、用中,主要是学会类的定义以及使用,还有类的成员函数的定义和使用,通过用类的对象去调用类的成员函数,最后达到目的,这能够体现出面向对象的编程方法,与以往的面向过程的编程方法有很大的层次性的提高,达到提高思维能力。三、 解题思路的描述1.本程序中学校的存储结构为链表:Prev school1 next头结点Prev school(最后) next其中school类为:class school:public athlete /*学校*/ public: int count; /*学校获奖数*/ int serial; /*学校编号*/ int menscore; /*男选手总分*/ int wome
15、nscore; /*女选手总分*/ int totalscore; /*总分*/ athlete athMaxSize; /*获奖运动员信息数组,包括分数,名次,项目*/ school *prev;/前指针 school *next; /后指针;其中部分主要的函数:添加操作add(school* &head)查询操作checkFunc(school *head,int &n)文件保存save(school *head)总分快速排序tquicksort(vector& v, int first, int last)总分基数排序 tbaseSort(vector& v, int d) 2.关键算法
16、 添加项目号for ( i = 1 ; i serial =要添加的编号) (first-athfirst-count).item =要添加的项目号;(first-athfirst-count).range =i(名次) First指向的学校的项目加一;更新总分break;first = first-next;3.查询操作:开始输入项目编号temp是数字NY0temp18NY输出“项目不存在”学校遍历结束temp存在YNNext schoolNtemp是奇数 NY取5名取3名输入获奖的学校编号se1senext;输出向量中的内容1. 所有学校总分统计表2. 学校成绩查询3. 项目情况查询4.
17、返回主菜单1. 按学校编号统计2. 按学校名次统计3. 按男团总分统计4. 按女团总分统计5. 返回查询菜单6. 返回主菜单/按学校编号顺序输出所有参赛学校运动会成绩void serialSort(vector& v)for(int i=0;iv.size();i+)cout*vi;四、 源程序清单#include#include#include#define LT(a,b) (a)(b)#define LIST_INIT_SIZE 100/线性表存储空间的初始分配量#define LISTINCREMENT 10/线性表存储空间的分配增量typedef int InfoType; / 定义其
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 作业 运动会 分数 统计 20
限制150内