资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
.wd.计算机学院信管专业数据构造课程设计题 目: 运动会分数统计 班 级:姓 名:学 号:同组人姓名:起迄日期:课程设计地点:指导教师:评阅意见:成绩评定:评阅人: 日期:完成日期:2013年12月目录1、需求分析022、概要设计033、详细设计044、调试分析和测试结果055、总结136、参考文献147、致谢148、附录141、需求分析1任务:参加运动会有n个学校,学校编号为1n。比赛分成m个男子工程,和w个女子工程。工程编号为男子1m,女子m+1m+w。不同的工程取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。m=20,n=202功能要求:a).可以输入各个工程的前三名或前五名的成绩;b).能统计各学校总分,c).可以按学校编号、学校总分、男女团体总分排序输出;d).可以按学校编号查询学校某个工程的情况;可以按工程编号查询取得前三或前五名的学校。3规定:输入数据形式和范围:20以内的整数如果做得更好可以输入学校的名称,运开工程的名称4输出形式:有中文提示,各学校分数为整形5界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。6存储构造:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。7测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进展程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;2、概要设计1文字分析本课设要求输入信息,统计分数,执行排序与查找功能,在要求中没有在建设数据之后进展插入和删除操作,而在排序和查找过程中有许多的随机读取数据操作,因此使用顺序构造而不用链表。由于各个要求属性具有一定的联系,在定义数据时使用构造体和构造体数组来存储信息数据。考虑到程序的要求在设计函数时将学校个数和工程个数设计为可变的数据,为方便使用设计菜单函数menu,而由于要求将信息存储在文件中故设计文件的存储savetofile与读取函数readfromfile,信息输入函数input在输入 基本信息后由系统统计总分的内容并全部存入文件file中,在接下来的函数中开场都需要读取文件中的信息,信息的输出output输出输入函数中统计后的各项信息,在排序输出sortput中使用冒泡排序法进展不同关键字的排序,查询函数search采用顺序表的查找来完成。开场进入主菜单菜单项选择项041.信息输入2.统计输出3.排序输出4.信息查询5.退出完毕3、详细设计1工程数据表:运动会系统先制定本次运动会所需的参赛工程。本数据表根据要求设计存储每个工程的编号、要取的名次、各个名次名称及各名次对应的分数。用于对以后工程情况的统计已及查询。其中inum,top,range由输入信息输入,而mark有range和top决定。typedef struct int inum; /*工程编号*/ int top; /*取名次的数目*/int range5; /*名次*/ int mark5; /*分数*/itemnode; /*存放工程信息*/2学校数据表:本数据表根据要求储存了各个参赛学校的总体情况,包括学校的编号、学校总分、男子团体总分、女子团体总分,并且包括工程数据数组tn。其中snum和tn中局部数据由输入信息输入,而其他三项内容score,mscore,wscore将由系统进展自动统计。typedef struct int 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文件中读取运动会信息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工程学校编号1男编号2男编号3女取前3取前5取前5编号1名次31、43、4编号2名次22、51、5编号3名次1322测试结果1、主菜单界面2、信息输入运行测试a).信息输入b).输入完成3、统计输出运行测试a).统计输出b).统计输出完毕4、排序输出运行测试a).选择排序输出形式b).按学校编号输出c).按学校总分输出d).按男团总分输出d).按女团总分输出5、信息查询运行测试a).选择信息查询方式b).按学校编号查询c).按工程编号查询6、退出系统运行测试5、总结通过为期四天的课程设计,我对?数据构造?这门课程有了更深一步的了解,使我对?数据构造?这门课程掌握以及运用更加灵活。虽然是应用C语言来编写程序,但却深刻的表达了数据构造对编程的重要性。这次课程设计运用C语言与数据构造知识,编写一个运动会分数统计系统。其中遇到了不少问题,因为对?数据构造?这一门课程掌握不够熟练以及平时自己在编写一些普通常见的程序时只是运用单一的知识而课程设计却需要将各个方面的内容联系结合,例如文件与程序的结合,输入、输出、统计、查找的综合应用等,因此真正的程序设计必须先有一个正确的算法思想,运用正确的数据构造和编程语言,灵活的运用并联系几个方面的内容。通过课程设计也使我认识到,要学好编程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西6、参考文献1 严蔚敏,吴伟民;?数据构造C语言版?,清华大学出版社,2007年2 王裕明;?数据构造与程序设计?,清华大学出版社,2010年3 谭浩强;?C语言程序设计第三版?,北京航空航天大学出版社,2005年4 李建学;?数据构造课程设计案例精编用C/C+描述?,清华大学出版社,2007年5 催俊凯;?计算机软件根基?,机械工业出版社,2007年6 baidu 7、致谢本次试验能够如期完成,主要是要感谢席教师课堂上的讲解以及指导,才能使我对?数据构造?这门课程有较为深入的理解与掌握,才能在本次课程设计中得以运用。再加上课程设计过程中的程序设计建议,才使得这次课程设计中所遇到的问题能够较快的解决其次,我还要感谢和我一组的赵咏荔同学,通过两个人的共同协作,才使得本次课程设计能够较好的完成。同时,还要感谢平时课堂上以及课堂外给我帮助的同学们,能够热心的为我解答我所存在的疑问,并为我的程序提出一些建议。8、附录源代码:#include#include#include #define N 20 /*学校最大数目*/ #define M 20 /*男子工程最大数目*/ #define W 20 /*女子工程最大数目*/typedef struct int inum; /*工程编号*/ int top; /*取名次的数目*/ int range5; /*名次*/ int mark5; /*分数*/itemnode; /*存放工程信息*/typedef struct int snum; /*学校编号*/ int score; /*学校总分*/ int mscore; /*男团体总分*/ int wscore; /*女团体总分*/ itemnode tM+W; /*工程数组*/snode; /*存放学校信息*/snode aN; /* 定义一个学校数组*/void menu(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);printf(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(
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号