您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 2016 法国欧洲杯信息查询系统
2016法国欧洲杯信息查询系统学号姓名指导教师目录1.设计时间............................................12.设计目的............................................13.设计任务............................................14.设计内容............................................14.1需求分析..............................................14.1.1程序功能......................................24.1.2数据处理......................................34.1.3运行环境......................................44.1.4界面设计......................................44.2数据结构设计..........................................54.2.1数据结构......................................54.2.2模块功能......................................74.3详细设计..............................................74.4测试.................................................114.4.1测试........................................114.4.2分析........................................144.4附录.................................................145.总结与提高........................................29课程设计报告-1-1.设计时间2016年9月7日至2016年11月9日。2.设计目的课程设计报告应该能够反映学生完成课程设计题目的全部情况,包括对课程设计题目要求的分析、应用程序的设计、程序的测试过程以及程序的运行情况等等,因此,编写课程设计报告是课程设计的一个不容忽视的重要环节。首先,通过课程设计有助于我们对数据结构这门课程的理解,我们在课堂上学的都是基础理论知识,对于如何用程序设计语言来描述所学知识还是有一定的难度。通过课程设计,我们可以真正理解其内涵;其次,能够更灵活地应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解;除此之外,还能培养学生用学到的书本知识解决实际问题的能力;培养实际工作所需要的动手能力;培养学生运用所学知识规范地开发复杂、高质量应用软件的能力;课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。3.设计任务2016法国欧洲杯比赛已经结束,比赛战况非常激烈,产生了各种有关比赛的各种信息。面对着庞大的信息量,传统的人工方式管理会导致比赛信息管理上的混乱,人力与物力过多浪费,从而使网站站长的负担过重,影响整个信息发布系统的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的法国欧洲杯信息查询系统,对比赛及球员资料进行集中统一的管理。另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。数据库管理系统已从管业的应用程序包发展成为通用的系统软件。目前,对数据库各种模型的研究以及理论上的探讨都还在蓬勃开展,其应用也从一般管理扩大到计算机辅助设计、人工智能以及科技计算等领域。为了解决各位球迷查询比赛时间、比赛得分等信息的不方便,为了方便球迷了解他们所喜欢球队的球队信息、球员信息、球队历史等消息,做出对比。减少网站信息整合的工作量,减少工作失误与出错,完善对法国欧洲杯数据库系统的管理。2016法国欧洲杯查询系统将提高信息管理工作效率,作到信息的规范管理,科学统计和快速查询,让用户更好、更快、更方便地查询到最新法国欧洲杯战况。4.设计内容4.1需求分析课程设计报告-2-4.1.1程序功能该系统为简单的查询系统,使用户能够快速得到准确、详实的信息。主要包括下列功能:(1)查询对阵时间表:对阵时间表分为小组赛和淘汰赛;小组赛又分为A组、B组、C组、D组、E组、F组。淘汰赛又分为1/8决赛、1/4决赛、半决赛、决赛。根据界面提示,输入相应的数字查询相应的战队对阵时间。比如:查询A组将会显示:日期时间城市战队06/1103:00圣丹尼斯法国VS罗马尼亚06/1121:00朗斯阿尔巴尼亚VS瑞士06/1600:00巴黎罗马尼亚VS瑞士06/1603:00马赛法国VS阿尔巴尼亚06/2003:00里尔瑞士VS法国06/2003:00里昂罗马尼亚VS阿尔巴尼亚(2)查询积分榜:由于只有小组赛才有积分(积分规则:胜一局积3分,平一局积1分,输一局积0分),故积分榜分为A组、B组、C组、D组、E组、F组。各组按积分逆序排列,如果积分相同,先得到此分数的球队居前。根据界面提示,输入相应的数字查询相应的积分榜。比如:查询A组将会显示:战队胜负平积分罗马尼亚0211阿尔巴尼亚1203瑞士1025法国2017(3)查询射手榜:射手榜可以查询射手信息,即某球员某时刻进球;也可查射手榜排名,球员按进球数逆序排序,若进球数相同,按进球时间前后排序;根据界面提示,输入相应的数字进行查询。比如:查询后将会显示(取前四行):格里兹曼:6C.罗纳尔多:3吉鲁:3帕耶:3(4)战绩查询:战绩查询可以实现两个功能(该功能可以实现输入错误提示和连续查询):用户输入某个球队,显示该球队参与的所有比赛的战绩;用户输入某一场球赛,显示所有进球战绩,其中,进球战绩不仅包含比分,还包含每球进球的时刻和球员信息;输入相应的数字进行相应的查询。比如:输入法国将会显示:法国VS罗马尼亚2-1法国VS阿尔巴尼亚2-0瑞士VS法国0-0课程设计报告-3-法国VS爱尔兰2-1法国VS冰岛5-2德国VS法国0-2葡萄牙VS法国1-0比如:输入法国德国将会显示:德国VS法国0-2法国队7号球员格里兹曼:47分45秒射入,法国队7号球员格里兹曼:72分10秒射入.4.1.2数据处理该系统的数据(从各方面收集而来,均为真实数据)分为两类:一类为从文件中导入(此处导入以文本格式导入,并非二进制格式导入,更加方便使用),一类为手动输入;从文件中导入的数据为原始数据,包括:在某月某日某时某战队和某战队进行比赛、在某一次比赛中某战队某号某球员某分进了一个球。该系统会把这类数据通过一些算法进行加工、统计、排序、输出。比如:voidShooter_Addup_sort(structShootera[]){structShooterb[Z]={0};intb1[Z]={0};inti,j,q=1,lp=1,swap;structShooterswap1;strcpy(b[0].name,a[0].name);for(i=1;iLength1;i++)//该部分进行加工、统计数据。{for(j=i-1;j=0;j--){if(strcmp(a[j].name,a[i].name)==0){lp=0;break;}}if(lp){strcpy(b[q].name,a[i].name);q++;}lp=1;}for(i=0;iq;i++){for(j=0;jLength1;j++)if(strcmp(a[j].name,b[i].name)==0)b1[i]++;课程设计报告-4-}for(i=0;iq-1;i++)//该处为冒泡法(起泡法)排序数据。另有选择法此处for(j=0;jq-1-i;j++)//未列出。if(b1[j]b1[j+1]){swap=b1[j];b1[j]=b1[j+1];b1[j+1]=swap;swap1=b[j];b[j]=b[j+1];b[j+1]=swap1;}for(i=0;iq;i++)if(b[i].name!=0)printf(%s:%d\n,b[i].name,b1[i]);}第二类手动输入的数据是为了进行查询战绩,而进行输入的数据,起到引导匹配的作用。比如:法国、德国。4.1.3运行环境本程序由C语言编写,运行环境为:VisualC++6.02008。4.1.4界面设计本系统为图形化界面。以菜单形式输出,根据相应提示,输入相应的数字,来进行各项功能。该界面算法比较简单,运用do-while、switch语句进行实现,例如主界面程序算法:do{system(color2f);printf(\n\n\t\t*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n\t\t);printf(\n\t\t\t法国欧洲杯查询系统\t\t\t);printf(\n\n\t\t*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n\t\t);printf(\n\t\t\t1.对阵时间表\n\t\t\t2.积分榜\n\t\t\t3.射手榜\n\t\t\t);printf(4.战绩查询\n\t\t\t5.退出\n\t\t\t);printf(\n\n\t\t\t请选择:);scanf(%d,&c);switch(c){case1:system(cls);Duizhen_Time();break;case2:system(cls);Integral_rank();break;case3:system(cls);Shooter_rank();break;case4:system(cls);Military_exploit();break;case5:system(cls);exit(0);break;}}while(1);课程设计报告-5-4.2数据结构设计4.2.1数据结构数据结构分为逻辑结构和存储结构。该系统运用的逻辑结构为结构体,顺序表;运用的存储结构为静态数组。例如:structQuery_Zhand{charname1[50];charbz[50];charname2[50];charbf[50];}b[Z];//定义结构体数组。structQuery_Duizhan{charname1[50];charbz[50];charname2[50];charbf[50];charInforM[500];}c[Z];//定义结构体数组。//用格式化的方式从文件中读出数据,存入静态数组中for(i=0;iLength2;i++){课程设计报告-6-fscanf(fp,%s%s%s%s%s\n,a[i].name1,a[i].bz,a[i].name2,a[i].bf,a[i].InforM);printf(%s%s%s%s%s\n,a[i].name1,a[i].bz,a[i].name2,a[i].bf,a[i].InforM);}此外还涉及到一些算法;比如排序算法(冒泡法、选择法)、顺序查找算法等。//冒泡排序for(i=0;iq-1;i++)for(j=0;jq-1-i;j++)if(b1[j]b1[j+1]){swap=b1[j];b1[j]=b1[j+1];b1[j+1]=swap;swap1=b[j];b[j]=b[j+1];b[j+1]=swap1;}//选择排序for(i=m;in;i++){k=i;for(j=i+1;jn+1;j++)if(stu[j].avers
本文标题:2016 法国欧洲杯信息查询系统
链接地址:https://www.777doc.com/doc-3305139 .html