运动会分数统计数据结构课程设计(含源代码).docx
《运动会分数统计数据结构课程设计(含源代码).docx》由会员分享,可在线阅读,更多相关《运动会分数统计数据结构课程设计(含源代码).docx(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机学院信管专业数据构造课程设计题 目:运动会分数统计班 级:姓 名:学 号: 同组人姓名:起 迄 日 期: 课程设计地点: 指导教师:评阅意见:成绩评定:评阅人:日期:完成日期:2023 年 12 月名目1、需求分析022、概要设计033、具体设计044、调试分析和测试结果055、总结136、参考文献147、致谢148、附录14- 10 -1、需求分析(1) 任务:参与运动会有 n 个学校,学校编号为 1n。竞赛分成 m 个男子工程,和w 个女子工程。工程编号为男子 1m,女子m+1m+w。不同的工程取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3
2、、2;哪些取前五名或前三名由学生自己设定。m=20,n=20(2) 功能要求:a).可以输入各个工程的前三名或前五名的成绩; b).能统计各学校总分,c). 可以按学校编号、学校总分、男女团体总分排序输出;d). 可以按学校编号查询学校某个工程的状况;可以按工程编号查询取得前三或前五名的学校。(3) 规定:输入数据形式和范围:20 以内的整数假设做得更好可以输入学校的名称, 运开工程的名称(4) 输出形式:有中文提示,各学校分数为整形(5) 界面要求:有合理的提示,每个功能可以设立菜单,依据提示,可以完成相关的功能要求。(6) 存储构造:学生自己依据系统功能要求自己设计,但是要求运动会的相关数
3、据要存储在数据文件中。(7) 测试数据:要求使用 1、全部合法数据;2、整体非法数据;3、局部非法数据。进展程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;2、概要设计1文字分析本课设要求输入信息,统计分数,执行排序与查找功能,在要求中没有在建立数据之后进展插入和删除操作,而在排序和查找过程中有很多的随机读取数据操作,因此使用挨次构造而不用链表。由于各个要求属性具有肯定的联系,在定义数据时使用构造体和构造体数组来存储信息数据。考虑到程序的要求在设计函数时将学校个数和工程个数设计为可变的数据,为便利使用设计菜单函数menu,而由于要求将信息存储在文件中故设计文件的存储save
4、tofile与读取函数readfromfile,信息输入函数input在输入根本信息后由系统统计总分的内容并全部存入文件 file 中,在接下来的函数中开头都需要读取文件中的信息,信息的输出output输出输入函数中统计后的各项信息,在排序输出sortput中使用冒泡排序法进展不同关键字的排序,查询函数search 承受挨次表的查找来完成。1.2.3.4.5.信统排信退息输入计输出序输出息查询出开头进入主菜单菜单项选择项04完毕3、具体设计(1) 工程数据表:运动会系统先制定本次运动会所需的参赛工程。本数据表依据要求设计存储每个工程的编号、要取的名次、各个名次名称及各名次对应的分数。用于对以后
5、工程状况的统计已及查询。其中 inum,top,range 由输入信息输入,而 mark 有range 和 top 打算。typedef structint inum;/*工程编号*/int top;/*取名次的数目*/int range5;/*名次*/int mark5;/*分数*/itemnode;/*存放工程信息*/(2) 学校数据表:本数据表依据要求储存了各个参赛学校的总体状况,包括学校的编号、学校总分、男子团体总分、女子团体总分,并且包括工程数据数组 tn。其中 snum 和 tn中局部数据由输入信息输入,而其他三项内容 score,mscore,wscore 将由系统进展自动统计。
6、typedef structint snum;/*学校编号*/int score;/*学校总分*/int mscore;/*男团体总分*/int wscore;/*女团体总分*/ itemnode tM+W; /*工程数组*/snode;/*存放学校信息*/ snode aN;/* 定义一个学校数组*/这二个数据表相关联接,an中包括 tn,形成一个整体。(3) 模块划分1、Void menu(int n,int m,int w)功能是供给界面窗口2、Void savetofile功能是保存输入的运动会信息到 file 文件3、Void readfromfile功能是从 file 文件中读取运
7、动会信息4、Void input(int n,int m,int w)功能是输入信息并统计5、Void output(int n,int m,int w) 功能是按学校、工程输出统计信息6、Void sortput(int n,int m,int w) 功能是按四种方法排序并输出结果7、Void search(int n,int m,int w) 功能是按两种方法查询并输出结果4、调试分析与测试结果(1) 测试数据测试取学校个数为 3,男子工程个数 2.女子工程个数 1(2) 测试结果1、主菜单界面工程编号 1男编号 2男编号 3女学校取前 3取前 5取前 5编号名次31、43、41编号名次2
8、2、51、52编3号名次1322、信息输入运行测试a). 信息输入b). 输入完成3、统计输出运行测试a).统计输出b).统计输出完毕4、排序输出运行测试a).选择排序输出形式b). 按学校编号输出c). 按学校总分输出d). 按男团总分输出d).按女团总分输出5、信息查询运行测试a).选择信息查询方式b). 按学校编号查询c). 按工程编号查询6、退出系统运行测试5、总结通过为期四天的课程设计,我对数据构造这门课程有了更深一步的了解,使我对数据构造这门课程把握以及运用更加敏捷。虽然是应用 C 语言来编写程序,但却深刻的表达了数据构造对编程的重要性。这次课程设计运用 C 语言与数据构造学问,编
9、写一个运动会分数统计系统。其中遇到了不少问题,由于对数据构造这一门课程把握不够娴熟以及寻常自己在编写一些一般常见的程序时只是运用单一的学问而课程设计却需要将各个 方面的内容联系结合,例如文件与程序的结合,输入、输出、统计、查找的综合应用等,因此真正的程序设计必需先有一个正确的算法思想,运用正确的数据结构和编程语言,敏捷的运用并联系几个方面的内容。通过课程设计也使我生疏到, 要学好编程,仅学习书本上的学问是不够的,还要有较强的实践力量。由于我们学习学问就是为了实践。而只有多实践,多编写程序,才能更好的理解与把握书本上的东西6、参考文献1 严蔚敏,吴伟民;数据构造C 语言版,清华大学出版社,202
10、3 年2 王裕明;数据构造与程序设计,清华大学出版社,2023 年3 谭浩强;C 语言程序设计第三版,北京航空航天大学出版社,2023 年4 李建学;数据构造课程设计案例精编用 C/C+描述,清华大学出版社,2023 年5 催俊凯;计算机软件根底,机械工业出版社,2023 年6 baidu 7、致谢本次试验能够如期完成,主要是要感谢席教师课堂上的讲解以及指导,才能使我对数据构造这门课程有较为深入的理解与把握,才能在本次课程设计中得以运用。再加上课程设计过程中的程序设计建议,才使得这次课程设计中所遇到的问题能够较快的解决其次,我还要感谢和我一组的赵咏荔同学,通过两个人的共同协作,才使得本次课程设
11、计能够较好的完成。同时,还要感谢寻常课堂上以及课堂外给我帮助的同学们,能够热心的为我解答我所存在的疑问,并为我的程序提出一些建议。8、附录源代码: #include #include #include #define N 20/*学校最大数目*/#define M 20/*男子工程最大数目*/#define W 20/*女子工程最大数目*/ typedef structint inum;/*工程编号*/int top;/*取名次的数目*/int range5;/*名次*/int mark5;/*分数*/itemnode;/*存放工程信息*/ typedef structint snum;/*学
12、校编号*/int score;/*学校总分*/int mscore;/*男团体总分*/int wscore;/*女团体总分*/ itemnode tM+W; /*工程数组*/snode;/*存放学校信息*/ snode aN;/* 定义一个学校数组*/ voidmenu(int n,int m,int w)/*菜单函数*/int c;void input(int n,int m,int w); void output(int n,int m,int w); void sortput(int n,int m,int w); void search(int n,int m,int w); prin
13、tf(“ttt 欢送使用ttttnn“);printf(“t*运动会分数统计系统*nn“);printf(“tt*1.信息输入*n“); printf(“tt*2.统计输出*n“);printf(“tt*3.排序输出*n“); printf(“tt*4.信息查询*n“); printf(“tt*0.退出系统*nn“);printf(“=nn“);printf(“请选择要实现步骤的编号(0-4):“); scanf(“%d“,&c);switch(c)case 1:input(n,m,w);break; case 2:output(n,m,w);break; case 3:sortput(n,m
14、,w);break; case 4:search(n,m,w);break; case 0:printf(“感谢使用,再见!n“);exit(0); default:printf(“输入错误,请重试!n“);menu(n,m,w);void savetofile/*信息存入文件 file*/FILE *fp; int i;if(fp=fopen(“file.txt“,“w“)=NULL)printf(“cannot open the filen“); return;for(i=0;iN;i+)if(ai.snum!=”0”) if(fwrite(&ai,sizeof(snode),1,fp)!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运动会 分数 统计数据 结构 课程设计 源代码
限制150内