2021年数据结构实践——运动会分数统计系统

上传人:学**** 文档编号:210657206 上传时间:2021-11-14 格式:DOCX 页数:36 大小:239.06KB
返回 下载 相关 举报
2021年数据结构实践——运动会分数统计系统_第1页
第1页 / 共36页
2021年数据结构实践——运动会分数统计系统_第2页
第2页 / 共36页
2021年数据结构实践——运动会分数统计系统_第3页
第3页 / 共36页
2021年数据结构实践——运动会分数统计系统_第4页
第4页 / 共36页
2021年数据结构实践——运动会分数统计系统_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《2021年数据结构实践——运动会分数统计系统》由会员分享,可在线阅读,更多相关《2021年数据结构实践——运动会分数统计系统(36页珍藏版)》请在金锄头文库上搜索。

1、精品word学习资料 可编辑资料 - - - - - - - - - - - - - - - -数据结构实践运动会分数统计系统目录1、摘要32、概述2.1 设计目的32.2 设计内容32.3 系统功能要求42.4 相关学问43、思路3.1 提出问题53.2 分析问题53.3 解决问题54、系统设计4.1 主函数54.2 结构体的定义74.3 文件储备84.4 流程图95、调试与运行5.1 运行主菜单105.2 输入信息105.3 输出信息105.4 查询信息115.5 调用信息116、调试过程中显现的问题及解决方式6.1 显现的问题126.2 解决方式127、总结128、附录(源代码)131

2、/ 22- - -细心整理 - - - 欢迎下载 - - -第 1 页,共 22 页精品word学习资料 可编辑资料 - - - - - - - - - - - - - - - -数据结构实践运动会分数统计系统1、摘要二十一世纪是运算机飞速进展的世纪,面对着不断更新的运算机系统,运算机给人们带来了越来越多的便利;比如现代运动会得分数统计就可以由运算机来完成;然而要是运算机完成这种运算,人们必需给运算机给予这种运算的功能;那么这种运算功能详细是怎样实现的呢,今日就让我们一起走进这个奇妙的世界;2、概述2.1 设计目的数据结构是运算机程序设计的重要理论基础,学懂了数据结构可以帮忙编程者编出功能强大

3、的程序;本次实践的重要目的是让我们结合理论学问,实际上机操作;让我们更好的懂得数据结构的应用;另外目的仍有 1、使我们更加娴熟的把握专业学问2、把握初步的算法分析及解决才能3、初步把握独立解决软件开发过程中遇到的诸如问题分析、系统设计、运用数据结构的相关学问解决问题和调试等基本方法与技能;2.1 设计内容运动会分数统计(限1 人完成)任务:参与运动会有n 个学校,学校编号为 1n;竞赛分成 m 个男子项目,和w 个女子项目;项目编号为男子1 m,女子 m+1m+w ;不同的项目取前五名或前三名积分;取前五名的积分分 别为: 7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三

4、名由同学自己设定;(m=20,n=20)功能要求:1) 可以输入各个项目的前三名或前五名的成果;2 / 22- - -细心整理 - - - 欢迎下载 - - -第 2 页,共 22 页精品word学习资料 可编辑资料 - - - - - - - - - - - - - - - -数据结构实践运动会分数统计系统2) 能统计各学校总分,3) 可以按学校编号或名称、学校总分、男女团体总分排序输出;4) 可以按学校编号查询学校某个项目的情形;可以按项目编号查询取得前三或前五名的学校;5) 数据存入文件并能随时查询6) 规定:输入数据形式和范畴:可以输入学校的名称,运动项目的名称输出形式:有中文提示,各

5、学校分数为整形界面要求:有合理的提示,每个功能可以设立菜单,依据提示,可以完成相关的功能要求;2.4 系统功能要求储备结构: 同学自己依据系统功能要求自己设计,但是要求运动会的相关数据要储备在数据文件中; (数据文件的数据读写方法等相关内容在c 语言程序设计的书上,请自学解决)请在最终的上交资料中指明你用到的储备结构;测试数据:要求使用1、全部合法数据; 2、整体非法数据; 3、局部非法数据;进行程序测试, 以保证程序的稳固; 测试数据及测试结果请在上交的资料中写明;2.5 相关学问数据结构中的数据储备结构有多种,在我的设计中用到了以下学问:1、结构体数组类型储备数据:结构体是由相同或不同数据

6、类型组成的一种复杂 的数据类型; 结构体类型的定义只是该结构的组成情形,编译系统并未因此而为其安排储备空间, 当定义了结构体类型的变量或数组或编译系统才为其安排储备空间;3 / 22- - -细心整理 - - - 欢迎下载 - - -第 3 页,共 22 页精品word学习资料 可编辑资料 - - - - - - - - - - - - - - - -数据结构实践运动会分数统计系统2、查询:对于线性表而言可以有多种方法,输入要查询的内容信息,通过查询函数就能实现要查询的内容;3、思路3.1 提 出 问 题 1)第一需要用什么储备结构来储备数据? 2)怎样排序才能得到用户想要的结果? 3)怎样把

7、项目信息与学校信息结合,实现同步?3.2 分析问题对于以上问题我们怎样才能解决呢?第一,对于储备结构我们可以采纳次序表,链表、结构体数组等方式;排序方式也有冒泡排序、插入排序等方式;要实现同步我们可以用结构体嵌套的方式实现;3.3 解决问题对于上面提到的储备结构次序表当然可以,但在实际中同步那一块遇到了较 大的问题;所以在这里我们不妨用结构体数组的方式来储备,这样储备结构的问题就解决了; 然后排序方式我选用了冒泡排序,这样就更好的对应了结构体数组的储备方式;这样问题就解决了;下面让我们看看详细怎样实现的吧!4、系统设计4.1 主函数主函数的功能菜单如下:int mainint choice;

8、while1printfn;4 / 22- - -细心整理 - - - 欢迎下载 - - -第 4 页,共 22 页精品word学习资料 可编辑资料 - - - - - - - - - - - - - - - -数据结构实践运动会分数统计系统printf-*-*-*-*菜-*- 单*-* 选-*-* 项-*-*-*-*-*-n;printf*欢迎使用运动会分数统计系统!*n; printf-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-n;printf*n; printf*nn;printf1、输入信息! n;printf*nn;printf2、输出信息! n;pri

9、ntf*nn;printf3、查询信息! n;printf*nn;printf4、调用信息! n;printf*nn;printf5、退出系统! n;printf*n; printf*n;printf*n;printf请挑选以上操作! n; scanf%d,&choice; switchchoicecase 1: systemcls;Inputinformation; /输入信息的函数Writedata;/往文件了读入数据的函数/ Readata;/从文件了读出数据的函数main;break; case 2:systemcls;Output;/输出信息的函数main;break; case 3

10、:systemcls;Inquiary; /查询函数main;break; case 4:systemcls;Readata/;/从文件了读出数据的函数systempause;main; break;5 / 22- - -细心整理 - - - 欢迎下载 - - -第 5 页,共 22 页精品word学习资料 可编辑资料 - - - - - - - - - - - - - - - -数据结构实践运动会分数统计系统4.2 结构体的定义结构体定义如下:typedef structint itemnum; /项目编号char name20; /项目名称int top; /取名次的数目int range

11、5; /名次int mark5;/分数itemnode; /定义项目结点的类型/结构体数组类型储备typedef structint schoolnum; /学校编号char name20; /学校名称int score; /学校总分int mscore; /男团总分int wscore; /女团总分itemnode c20; /项目数组headnode; /定义头结点类型headnode h20; /定义一个头结点数组4.3 文件储备文件的储备我用到了fprintf函数和 fscanf函数进行数据的逐步读入读出代码如下 ;Status Writedata /存到文件中FILE *report

12、; int i,j;ifreport=fopensportdata.txt,w=nullprintf 不能打开文件 n; exit1;fprintfreport,%dn,n; fprintfreport,%dn,m; fprintfreport,%dn,w; fori=0;in;i+fprintfreport,%dn,hi.schoolnum; fprintfreport,%sn,hi.name;6 / 22- - -细心整理 - - - 欢迎下载 - - -第 6 页,共 22 页精品word学习资料 可编辑资料 - - - - - - - - - - - - - - - -数据结构实践运动会分数统计系统fprintfreport,%dn,hi.score; fprintfreport,%dn,hi.mscore; fprintfreport,%dn,hi.wscore; forj=0;jm+w;j+fprintfreport,%dn,hi.cj.itemnum;fprintfreport,%sn,hi.cj.name;fprintfreport,%dn,hi.cj.top;fprintfreport,%dn,hi.cj.rangej;fprintfreport

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号