数据结构课程设计论文运动会分数统计系统.doc
《数据结构课程设计论文运动会分数统计系统.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计论文运动会分数统计系统.doc(24页珍藏版)》请在三一办公上搜索。
1、课程设计评审表姓 名学 院学 号专业班级题 目运动会分数统计系统评审意见评审成绩指导教师签名职称评审时间 年 月 日课程设计作品验收表题目运动会分数统计系统参与人员姓 名班 级学 号设计任务与要求: 1)可以输入各个学校各个项目的前三名或前五名的成绩; 2)能统计各学校总分; 3)可以按学校编号或名称、学校总分、男女团体总分排序输出; 4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校; 5)数据存入文件并能随时查询。作品完成情况:能按要求实现信息的输入、统计,按多种方式输出、查询等基本功能。能将输入的信息存入文档,可供随时调用。能够正确应对部分不合理的输入。验
2、收情况: 验收教师签名:_ 年 月 日注:1. 除“验收情况”栏外,其余各栏均由学生在作品验收前填写。2. “验收情况”栏由验收小组按实际验收的情况如实填写。目 录1 问题描述与分析. 11.1 课程设计的目的. 11.2 系统需求分析.12 概要设计. .22.1 系统功能设计.22.2 函数构造.23 详细设计.3 3.1 数据类型及重要变量的定义.3 3.2 函数的设计和实现.44 测试.75 课程设计总结.11 5.1 调试中遇到的较重要问题的回顾.11 5.2 算法的效率及改进思想12 5.3 心得体会.12 参考文献.13附录.13运动会分数统计系统1 问题描述与分析1.1 课程设
3、计目的为了巩固我们数据结构知识,加强我们的实际动手能力和提高我们综合素质,提高我们对计算机软件工程的认识学院组织我们进行了数据结构课程设计。此次课程设计要达到以下几点目的:1.11了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力。1.12提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。1.13培养算法分析能力。分析所设计算法的时间复杂度和空间复杂度,进一步提高程序设计水平。1.14初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。1.2系统需求分析问题描述:参加运动会有n个
4、学校,学校编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m=20,n=20)。功能要求:1.21可以输入各个学校各个项目的前三名或前五名的成绩;1.22能统计各学校总分;1.23可以按学校编号或名称、学校总分、男女团体总分排序输出;1.24可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校;1.25数据存入文件并能随时查询;1.26规定:输入数据形式和范围:可以输入学校的名称,运动项
5、目的名称。输出形式:有中文提示,各学校分数为整形。界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。2 概要设计2.1 系统功能设计根据运动会分数统计系统问题的分析和设计要求,可以将该系统可以分为三个模块:信息统计模块、信息输出模块、信息查询模块,其系统功能结构图如图1所示。2.11信息统计模实现信息的输入、统计、存档。2.12信息输出模块,实现信息的输出。2.13信息查询实现信息的查询。 图2-1 系统功能结构图2.2 函数构造根据系统功能结构图的描述,可以构造出该系统的几个基本的函数,其方法名和功能如表2-1所示。表2-1 函数功能表函数功能void inpu
6、tinformation( )输入和统计信息函数void output( )输出信息函数void inquiry( )查询信息函数void writedata( )数据存储函数void readdata( )读入数据函数3 详细设计3.1 数据类型及重要变量的定义3.11定义运动项目数据类型,用于存放运动项目,包括项目编号、项目所取名次数、名次、分数。/定义项目结点的类型typedef struct int itemnum; /项目编号 int top; /项目取名次的数目,由用户定义3或5 int range5; /名次 int mark5; /分数itemnode;3.12定义学校数据类型
7、,用来存储参赛学校信息,包括学校编号、学校总分、男团总分、女团总分、项目数组。/定义学校结点类型typedef structint schoolnum; /学校编号 int score; /学校总分 int mscore; /男团体总分 int wscore; /女团体总分 itemnode cm+w; /项目数组schoolnode;3.13定义学校数组schoolnode hn。采用数组结构有利于随机的存储和查询。定义全局标志变量int flag1、flag2,分别用以标志是否已经向系统输入了信息和标志系统中是否已经存在信息。定义文件指针FILE * report,用来指向存档的文件。3.
8、2 函数的设计和实现在概要设计中已经对该系统涉及的抽象数据类型和函数及其功能做了说明,这里就不在对每个函数进行一一说明,只对其中比较重要的功能模块进行描述。3.21信息输入及分数统计功能void inputinformation( )为输入信息及分数统计函数。在输入信息的同时进行分数的统计。可以输入各个学校各项目前三名或前五名的成绩。在输入学校的参赛项目时,结果取前三名还是前五名自己定,用一个选择语句实现。利用swith语句前三名的分数赋为5、3、2,前五名的成绩赋为7,5、3、2、1,未取得成绩则赋为0。并统计团体总分,男团总分和女团总分。其主要功能代码如下:for(s=0;sk;s+) p
9、rintf(*名次:); scanf(%d,&hi.cj.ranges); /输入所获名次信息 if(hi.cj.top=3) switch(hi.cj.ranges) case 0: hi.cj.marks=0; break; case 1: hi.cj.marks=5; break; case 2: hi.cj.marks=3; break; case 3: hi.cj.marks=2; break; else switch(hi.cj.ranges) case 0: hi.cj.marks=0; break; case 1: hi.cj.marks=7; break; case 2: h
10、i.cj.marks=5; break; case 3: hi.cj.marks=3; break; case 4: hi.cj.marks=2; break; case 5: hi.cj.marks=1; break; hi.score=hi.score+hi.cj.marks;3.22信息输出功能void output( )为输出函数。列出一个输出目录利用swich语句使函数按学校编号输出或按学校总分、男团总分、女团总分由高到低排序输出。利用辅助数组remember和冒泡排序的方法使之按分数的由高到低输出。利用循环语句do while( )当输入2时返回输出目录,输入0是跳出循环返回主菜单
11、。其流程图如图3-1所示。图3-1输出信息模块流程图3.23信息查询功能void inquiry( )为查询函数。列车一个查询目录利用swich 语句使函数按学校编号或项目编号查询,输出某学校的某个项目的得分情况或某个项目的前几名的学校。再利用循环语句do while( )当输入2是返回查询目录,输入0时跳出循环返回主菜单。其程序流程图如图3所示。图3 查询信息模块程序流程图3.24主函数void main( )是主函数。列出主菜单,利用switch语句调用以上函数实现各个菜单的功能。想在每次查询结束想返回主菜单进行其它项时,应在main( )函数中调用其它函数时再调用main( )函数,如:
12、switch(choice) case 1: printf(输入信息:n);inputinformation();writedata();printf(信息已存入档案!);main(); case 2: printf(输出信息:n);if(flag1)readdata();output();main();在进入主菜单后为了确保系统中已经输入了信息,用标志标量flag1和flag2来控制循环。如果系统中没有任何信息,用户就不能选择输入或查询操作,此时会输出提示信息,并返回主菜单。直到用户输入了信息或退出系统。其实现代码如下:do printf(=欢迎使用=n); printf(nn*运动会分数统
13、计系统*n); printf(nn*1.输入信息*n); printf(*2.输出信息*n); printf(*3.查询信息*n); printf(*4.退出系统*nnn); printf(=nn); printf(*请选择要实现步骤的编号( 请确保已经输入信息! ):nn); scanf(%d,&choice); if(choice=4)break; else if(choice=1)flag1=0; else if(report=fopen(sportsdata.txt,r)!=null )flag2=0; else system(cls); printf(nnnn系统中无任何信息!nn请
14、先输入信息!nnnn); while(flag1 & flag2);4 测试运行程序,进入系统主菜单。用户可以选择输入、输出、查询信息或退出系统,界面如图4-1所示。图4 -1 系统主界面4-11输入信息输入1得到进入输入信息模块。根据系统提示将以下信息输入系统中:学校编号1,项目编号1,取前5名,获得1个名次,是第5名;项目编号2,取前3名,获得3个名次,分别是1、2、3名。学校编号2,项目编号1,取前5名,获得4个名次,分别是1、2、3、4名;项目编号2,取前5名,获得0个名次。输入信息后,会自动存档,并提示存档成功,然后自动返还主菜单,如图4-2所示。图4-2信息成功输入系统并存入了文档
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 论文 运动会 分数 统计 系统
链接地址:https://www.31ppt.com/p-4856857.html