C++运动会分数统计系统
C运动会分数统计系统

课程设计报告运动会分数统计系统1. 系统需求分析问题描述:参加运动会有n个学校,学校编号为1,2,···,n,比赛分为m个男子项目和w个女子项目。
项目编号为男子1,2,···,m个,女子m+1个,m+2个,··,m+w。
不同的项目取得前五名或前三名积分;取前五名的积分分别为7,5,3,2,1;前三名的积分分别为5,3,2;项目编号为奇数的取前五名,项目编号为偶数的取前三名(m≤20,n≤20)。
每个项目结束时,将其编号输入,并按名次顺序输入运动员姓名、学校编号和成绩。
请用C/C++编写一系统,模拟运动会分数统计过程,软件应包括如下几个方面:(一)功能要求:(1)成绩输入:要求:可以输入各个项目的前三名或前五名的成绩。
(2)成绩查询:要求:可以按学校编号查询学校各项目情况;可以按项目编号查询取得前三名或前五名的学校。
(3)成绩统计:要求:能统计各学校总分。
(4)成绩排序:要求:可以按学校编号、学校总分、男女团体总分排序输出。
(二)其它要求:(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读;(2)至少采用文本菜单界面(如果能采用图形菜单界面更好);(3)学生可自动增加新功能模块(视情况可另外加分);(4)写出课程设计报告,具体要求见相关说明文档。
2 概要设计2.1 系统功能设计根据运动会分数统计系统问题的分析和设计要求,可以将该系统可以分为三个模块:信息统计模块、信息输出模块、信息查询模块,其系统功能结构图如图1所示。
(1)信息统计模实现信息的输入、统计。
(2)信息输出模块,实现信息的输出。
(3)信息查询实现信息的查询。
图1 系统功能结构图3.详细设计:毕业设计有困难?加QQ929486211(1)定义运动项目数据类型,用于存放运动项目,包括项目编号、项目所取名次数、名次、分数。
(2)定义学校数据类型,用来存储参赛学校信息,包括学校编号、学校总分、男团总分、女团总分、项目数组。
c语言课程设计运动会分数统计系统

3.数据结构:线性表 4.数据库结构:下面四张表构成该系统的基本数据库,全部输出报表由
系统根据基本表自动生成。
运动员编号 char
学校编号 char
项目编号 char
性别 类型 char char
成绩 float
运动员编号 学校编号
姓名 校名
初始化时完成录入
项目编号
项目名
3. 可以假设 n≤20,m≤30,w≤20,姓名长度不超过 20个字符。每个项目 结束时,将其编号、类型符(区分取前五名还是前三名)输入,并输入 运动员编号、学校编号和成绩等。
组、函数和 C 语言基本图形编程等方法, 把编程和实际结合起来, 增强对不同的问题运用和
灵活选择合适的数据结构以及算法描述的本领, 熟悉编制和调试程序的技巧, 掌握分析结果
的若干有效方法, 进一步提高上机动手能力, 培养使用计算机解决实际问题的能力, 养成提
供文档资料的习惯和规范编程的思想, 为以后在专业课程中应用计算机系统解决计算、 分析、
3
1.1 问题描述 .....................................................
3
1.2 基本要求 .....................................................
3
1.3 测试数据 .....................................................
9
4.1.1 类属性的详细设计 ........................................
10
第五章 测试与维护 .........................................
c语言课程设计--运动会分数统计系统讲课教案

课程设计报告课程名称C语言课程设计课题名称运动会分数统计系统专业电气工程及其自动化班级学号姓名指导教师王颖2012年 6 月25 日湖南工程学院课程设计任务书课程名称C语言课程设计课题运动会分数统计系统专业班级电气工程及其自动化学生姓名学号指导老师王颖审批任务书下达日期2012年6月16日任务完成日期2012年6月25日运动会分数统计系统一、问题描述:参加运动会的n 个学校编号为l ~n 。
比赛分成m 个男子项目和w 个女子项目,项目编号分别为l ~m 和m +1~m +w 。
由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。
设计一个统计程序按名次产生各种成绩单、得分报表。
二、基本要求:1.产生各学校的成绩单,内容包括各校所取得的每项成绩的项目号、名次、成绩、姓名和得分;产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分;均按名次排序。
2.比赛项目既要有径赛,又要有田赛。
三、测试数据:对于n=4,m=3,w=2,编号为奇数的项目取前五名,编号为偶数的项目取前三名,设计一组实例数据。
四、实现提示:1.数据结构:线性表2.数据库结构:下面四张表构成该系统的基本数据库,全部输出报表由系统根据基本表自动生成。
3. 可以假设n ≤20,m ≤30,w ≤20,姓名长度不超过20个字符。
每个项目结束时,将其编号、类型符(区分取前五名还是前三名)输入,并输入运动员编号、学校编号和成绩等。
五、选作内容:允许用户指定某项目采取其他名次取法。
姓名 运动员编号 校名学校编号 项目名 项目编号初始化时完成录入 floatchar char char char char 成绩 类型 性别 项目编号 学校编号 运动员编号精品文档前言《C语言程序设计》课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。
运动会成绩处理系统(C语言简单类型版)

一、运动会成绩处理基本过程如下:本系统的特色:(1) 本系统采用模块化(自定义函数)开发方法,基础信息处理模块、运动员检录信息处理模块、预赛信息处理模块、决赛信息处理模块(2) 本系统采用由总装模块(主函数)调用的方式实现各个功能模块的集成。
(3)设置一全局变量,使程序具有报告运动会比赛项目完成情况的功能。
(4)当比赛开始时候,本系统打开运动会开始画面,项目全部完成的时候,本系统将打开结束画面。
存储检录信息的数据对象基础信息录入模块:/*把参赛运动员的基础信息录入到数组变量中保存,下述程序仅能完成一批次6个人的运动员基础信息处理任务)*/#define num 6#define L1 7main(){Int i;char sports_no[num][L1], student_no[num][L1],name[num][L1],goods[num]={0,0,0,0,0,0};for(i=1;i<=num;i=i+1){printf("\ninput %d ‘s sports_no :",i);scanf("\%s", sports_no[i-1]);printf("\ninput %d ‘s student_no :",i );scanf("%s", student_no[i-1]);printf("\ninput %d ‘s name:",i);scanf("%s", name[i-1]);}\*把运动员基本信息保存在文件中*\#include<stdio.h>main()FILE *fp;int i;char name[2][7];fp=fopen("lds.txt","w");for(i=1;i<=2;i++){scanf("%s",name[i-1]);fwrite(name[i-1],7,1,fp);}fclose(fp);}\*从文件中输出运动员基本信息*\ #include<stdio.h>main(){FILE *fp;int i;char name[2][7];fp=fopen("lds.txt","r");for(i=1;i<=2;i++)fread(name[i-1],7,1,fp);}fclose(fp);printf("\n");for(i=1;i<=2;i++) printf("\n%s",name[i-1]);}预赛处理:(1)填写检录名单(具有手动终止检录功能,下述程序仅能完成一批次最多6个人的检录信息处理任务)main(){int i;int k;char sports_no[6][7]={"","","","","",""}; \\本语句形成简单表,而要形成多列表则要定义字符型三维数组。
C语言程序的设计运动会成绩统计系统方案

程序设计工程训练 报告运动会分数统计系统课程名称 姓名 院(系) 专业班级 学号 指导教师教务处制C 语言程序设计工程训练 信息科学与技术学院1 需求分析. (1)2 系统总框图和功能模块说明 (2)2.1 系统总框图 (2)2.2 功能模块说明 (2)3 系统设计. (3)3.1 主要结构体 (3)3.2 主要功能函数 (3)3.3 关键函数的流程图 (4)4 系统调试. (4)5 总结. (7)6 源程序清单. (7)1需求分析1问题描述运动会分数统计参加运动会有n个学校,学校编号为1……n。
比赛分成m个男子项目,和w个女子项目。
项目编号为男子1〜m女子m+仁m+w不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些项目取前五名或前三名由使用者设定。
(m<=20 ,n <=202. 基本要求:1) 可以输入各个项目的前三名或前五名的成绩;2) 能统计各学校总分;3) 可以按学校编号、学校总分、男女团体总分排序输出;4) 可以按学校编号查询学校某个项目的情况;5) 可以按项目编号查询取得前三或前五名的学校。
3. 测试数据1) 首先进入成绩录入界面,先输入参赛学校数,再输入男子组数和女子组数;2) 然后进入总目录;3) 输入:1输入成绩;4) 输入:2统计各校总分;5) 输入:3统计各校项目得分;6) 输入:4按学校总分排序输出;7) 输入:5按男团体总分排序输出;8) 输入:6按女团体总分排序输出;9) 输入:7按学校编号查询学校某个项目的成绩;10) 输入:8按项目编号查询取得前三名或前五名的学校;11) 输入:0退出;2系统总框图和功能模块说明2.1 系统总框图2.2 功能模块说明1) 输入:1输入成绩;............. .............. 输入某一项目的成绩2)输入: 2统计各校总分;........ •…统计各校所有项目总分之和3)输入:3 统计各校项目得分;••…•…输出各校各项目得分4)输入:4 按学校总分排序输出;………按照总分从大到小排序5)输入:5 按男团体总分排序输出;••…仅按照男子团体总分从大到小排序6) 输入:6按女团体总分排序输出;••…仅按照女子团体总分从大到小排序按项目编号查询取得前三名或前五名的学校*按学校编号查询学校某个项目的成绩按女团体总分排序输出按男团体总分排序输出1『按学校总分排序输出1统计各校个项目得分7) 输入:7按学校编号查询学校某个项目的成绩;•…输入学校编号及项目编号可查询该校的该项目成绩8) 输入:8按项目编号查询取得前三名或前五名的学校;•…输入项目编号可查询该项目获得名次的学校9) 输入:0退出;....... 退出系统3系统设计3.1主要结构体菜单号choo学校:num项目:ab男团、de女团、ke3.2主要功能函数void exit0()void in put()void each()void biaohao()void zongfen()void nanzon g()void nvzon g()void xuexiao()void xia ngmu()void main()3.3关键函数的流程图void exitO()void input()void each() void biaohao()Z -----------------------------------------------------------------------------------------------------------------------------void zongfen() void nanzon g() void nvzon g()void xuexiao() void xia ngmu()void main()4系统调试<1>开始界面,分别输入3、7、3.***运动会分数统计* *输入1后显示请选拝'1请愉人项甘1先号:1请摻頭第一、第二 弟三的名输丸荻芝学校代号,I 输入完冋2 H M MH M M3 ****** 4MWKHWK 5****** fl****** 9S.总号号成各l i w -1的五目 1分个得岀的出询询刖2多47^7 有几几 共有有少男女12345676?绩的f的五旦项或 分辻一一得蛍某罚Kin分学职的杳一族备校目入井学男辜苗 充岳 dE-一yFC ■-濒一也--止*N1Q输入2后显示请如2 学校代号=团体总成绩 坝或 S个三 得拦屮臺前询i ^^t l w s-l r •■\计期勇玄于项冷 -1嗨绩的的五mr:刖1分 个三 得前八負^学取E 三1234 5 65^13-号号学校代号:团休总成绩 1 : 5 喊绩的f的五 IT —別1分±-・ 得普某 ..屮出逆肆得 /且幫 «遗询<a备杳一二 一刖吨,^・小••戏J.•戏 " 二二一二冷 * * 二★二舞二 砂二一映123456789输入5后显示请选择;5学校代号:男子团体总成绩1 : 5输入6后显示 请选择;6学校代号:女子团体总成绩请选7更查询的学校1弋号’ 1 吏查询曲项刖弋号;1I 1所牟屜第1项目成绩为5肾学校un^刖分 得岀岀某前的出 分an^yt学取 询 分忌总号号叢S子总 成各&雇3JJ 检目 入^#学男玄子 H个一一二输入8后显示12345678校.学绩的f的五亘 项或个三岀岀某前 咸各鳥团团校目入丰学男十Z卄卄北二 I 二123456789分 得岀岀某前wiis八学取总询 的霽查分总总号号 成各套团里目入学男蛊子^^个_输入7后显示123J-5&78输入95总结本次课程设计检验了我的实践能力,感觉自己还有许多东西要学习,并不仅限于课本上的知识,实践才是真理,在学习中实践,实践中去学习。
c++运动会分数统计系统

#include<stdio.h>#include<malloc.h>#include<string.h>#include<process.h> //此头文件包含用于和宏指令的作用声明#define N 4 //学校个数#define bm 3 //男团体个数#define gm 2 //女团体个数void xuanze();void xunhuan();struct match //声明结构体类型项目{int matchnum;int rank[3]; //rank是排名变量}mat[bm+gm];struct school //声明结构体类型学校{int schoolnum;struct match mat[bm+gm];int total;int boytotal;int girltotal;}sch[N];void start() /*开始界面*/{printf(" 欢迎使用运动会分数统计系统\n\n");printf(" \n");}void input() //输入成绩{int i,j,k;for(i=0;i<N;i++) //初始化,i为学校编号,j为名次,k为项目编号{sch[i].total=0;sch[i].boytotal=0;sch[i].girltotal=0;for(k=0;k<bm+gm;k++)if(k%2==1){sch[i].mat[k].rank[0]=0; //开始引用成员sch[i].mat[k].rank[1]=0;sch[i].mat[k].rank[2]=0;sch[i].mat[k].rank[3]=0;sch[i].mat[k].rank[4]=0;sch[i].mat[k].matchnum=k+1;}else{sch[i].mat[k].rank[0]=0; //开始引用成员sch[i].mat[k].rank[1]=0;sch[i].mat[k].rank[2]=0;sch[i].mat[k].matchnum=k+1;}}printf("{在下面输入成绩}\n");printf("注:输入说明:\n");printf(" 1.学校编号为1--%d; 项目编号为1--%d (1-%d为男子项目,%d-%d为女子项目).\n",N,bm+gm,bm,bm+1,bm+gm);printf(" 2. 成绩只能是'0'或'1'\n('0'表示没获得该项目的该名次,'1'表示获得了该项目的该名次.)\n",N);for(i=0;i<N;i++){printf("请输入学校编号: ");loop3:scanf("%d",&sch[i].schoolnum); //loop是起循环跳转作用,在此处起标记作用,与下面的goto相搭配,下同if(sch[i].schoolnum<0||sch[i].schoolnum>N){printf("输入错误(只能是1-%d)请重新输入:",N);goto loop3; //goto与loop搭配,当输入错误时跳转至上面loops,直到输入正确时才跳出}printf("项目编号");for(k=0;k<bm+gm;k++)printf("%d ",sch[i].mat[k].matchnum);printf("\n");for(j=0;j<3;j++){loop: printf("第(%d)名:",j+1);for(k=0;k<bm+gm;k++)scanf(" %d",&sch[i].mat[k].rank[j]);for(k=0;k<bm+gm;k++)if(sch[i].mat[k].rank[j]!=0&&sch[i].mat[k].rank[j]!=1){printf("输入错误,请重新输入,成绩只能是'0'或'1'\n");goto loop;}}}}void totaljisuan() //计算总分{int i,k,b;for(i=0;i<N;i++)for(k=0,b=0;k<bm+gm;k++){if(k%2==1){b=sch[i].mat[k].rank[0]*7+sch[i].mat[k].rank[1]*5+sch[i].mat[k].rank[2]*3+sc h[i].mat[k].rank[3]*2+sch[i].mat[k].rank[4]*1;sch[i].total=sch[i].total+b;}else{b=sch[i].mat[k].rank[0]*5+sch[i].mat[k].rank[1]*3+sch[i].mat[k].rank[2]*2;sch[i].total=sch[i].total+b;}if(k<bm)sch[i].boytotal=sch[i].boytotal+b;if(k>=bm)sch[i].girltotal=sch[i].girltotal+b;}}void menu(){printf("\n\n **系统菜单**\n"); //菜单printf("\t\t ************************************\n");printf("\t\t* 1.统计各学校总分 *\t \n"); //在此处用换码符/t方便输出,上下同printf("\t\t* 2.按学校编号排序输出 *\t \n");printf("\t\t* 3.按学校总分排序输出 *\t \n");printf("\t\t* 4.按男团体总分排序输出 *\t \n");printf("\t\t* 5.按女团体总分排序输出 *\t \n");printf("\t\t* 6.按学校编号查询学校某个项目情况 *\t \n");printf("\t\t* 7.按项目编号查询取得名次的学校 *\t \n");printf("\t\t* 0.退出 *\t \n");printf("\t\t ************************************\n");}void funct0() //退出系统{printf("\n\t\t******* 谢谢使用! *******\n");printf("\n\t\t******* 谢谢使用! *******\n");exit(0);}void funct1() //统计各学校总分{int i,q;printf(" **********统计各学校总分**********\n");printf(" **学校编号**\t\t\t\t**总分**\n");for(i=0;i<N;i++)printf("\t%d\t\t\t\t%d\n",sch[i].schoolnum,sch[i].total);printf("\n");printf("\n");printf("########## 0:退出;1:返回目录。
C语言程序设计运动会成绩统计系统1

课程设计报告课程名称《C语言程序设计》课题名称运动员分数统计系统专业班级学号姓名指导教师王颖2015 年1月9日湖南工程学院课程设计任务书课程名称《C语言程序设计》课题运动员分数统计系统专业班级学生姓名学号指导老师王颖审批任务书下达日期 2015年 12月 29日任务完成日期2016年 1月 9日设计内容与设计要求1.课程设计目的:全面熟悉、掌握C语言基本知识,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为后继课程(数据结构、数据库和汇编语言等课程)的实验以及课程设计打下较扎实的基础。
2.课题题目⑴班级成绩管理系统⑵班级档案管理系统⑶飞机订票系统⑷猜数字游戏⑸电子英汉词典设计⑹心算抢答系统⑺运动会分数统计系统⑻小学生心算CAI系统3.设计要求:掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的中型问题,为将来开发软件积累一些典型的案例处理经验。
具体要求如下:⑴设计课题题目:每位同学根据自己学号除以8所得的余数加一选择相应题号的课题。
换题者不记成绩。
⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求;输入输出的要求。
②完成系统概要设计:程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能;课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。
③完成系统详细设计:包括采用C语言定义相关的数据类型;写出各模块的类C码算法;画出函数的调用关系图。
④调试分析以及设计体会:测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果;程序调试中遇到的问题以及解决问题的方法;课程设计过程经验教训、心得体会。
运动会分数统计系统说明书

目录摘要 (1)前言 (2)正文 (3)1.采用类C语言定义相关的数据类型 (3)2.各模块的伪码算法 (4)3.函数的调用关系图 (7)4.调试分析 (7)5.测试结果 (8)6.源程序(带注释) (12)总结 (15)参考文献 (17)致谢 (18)附件Ⅰ部分源程序代码 (19)摘要本次课程设计的主要任务是利用学过的数据结构的知识设计一个运动会分数统计系统。
运动会分数统计系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。
运动会分数统计系统是典型的信息管理系统,本系统是根据现代化校园的发展而设计的运动会分数统计系统,本系统可以方便老师、运动员来学校查找成绩、名次。
要求应用程序功能完备,易使用等特点。
实现全校运动会信息在线查询。
还可以对新的运动信息进行信息录入。
由于运动项目种类繁多,可以实现信息修改。
通过本次课程设计可以加深理解线性表、查找表的逻辑结构、存储结构,掌握查找、排序等基本运算的实现,进一步理解和熟练掌握课本中所学的各种数据结构。
关键词:数据结构;运动会;分数统计系统;C语言前言本学期开设的《算法与数据结构》课程已经告一段落,。
在学习科目的第一节课起,张老师就为我们阐述了它的重要性。
它对我们来说具有一定的难度。
它是其它编程语言的一门基本学科。
尽管不好学,但是我们必须学好这门课程,这对于我们计算机专业的学生来说意义重大。
经过一个学期的理论知识的学习,对于数据结构相关的知识有了一定的了解。
这是一门纯属于设计的科目,它需用把理论变为上机调试和具体实践。
在课程结束之后。
老师为我们安排了这次为期两周的课程设计。
目的就是让我们自己在计算机上自己设计算法来实现相应的功能以及锻炼学生的动手能力和实践能力,最重要的是要把我们所学的数据结构的理论知识应运到实践中去。
这次课程设计的题目是“运动会分数统计系统”,要求学生自己查阅相关资料,完成相应的任务,自己上机设计算法,调试程序,运行出结果,以此来加深理解线性表、查找表的逻辑结构、存储结构,掌握查找、排序等基本运算的实现,进一步理解和熟练掌握课本中所学的各种数据结构,学会如何把学到的知识用于解决实际问题,培养自己的动手能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
运动会分数统计系统
1. 系统需求分析
问题描述:
参加运动会有n个学校,学校编号为1,2,···,n,比赛分为m个男子项目和w个女子项目。
项目编号为男子1,2,···,m个,女子m+1个,m+2个,··,m+w。
不同的项目取得前五名或前三名积分;取前五名的积分分别为7,5,3,2,1;前三名的积分分别为5,3,2;项目编号为奇数的取前五名,项目编号为偶数的取前三名(m≤20,n≤20)。
每个项目结束时,将其编号输入,并按名次顺序输入运动员姓名、学校编号和成绩。
请用C/C++编写一系统,模拟运动会分数统计过程,软件应包括如下几个方面:
(一)功能要求:
(1)成绩输入:
要求:可以输入各个项目的前三名或前五名的成绩。
(2)成绩查询:
要求:可以按学校编号查询学校各项目情况;可以按项目编号查询取得前三名或前五名的学校。
(3)成绩统计:
要求:能统计各学校总分。
(4)成绩排序:
要求:可以按学校编号、学校总分、男女团体总分排序输出。
(二)其它要求:
(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读;
(2)至少采用文本菜单界面(如果能采用图形菜单界面更好);
(3)学生可自动增加新功能模块(视情况可另外加分);
(4)写出课程设计报告,具体要求见相关说明文档。
2 概要设计
2.1 系统功能设计
根据运动会分数统计系统问题的分析和设计要求,可以将该系统可以分为三个模块:信息统计模块、信息输出模块、信息查询模块,其系统功能结构图如图1所示。
(1)信息统计模实现信息的输入、统计。
(2)信息输出模块,实现信息的输出。
(3)信息查询实现信息的查询。
图1 系统功能结构图
3.详细设计:
毕业设计有困难?加QQ929486211
(1)定义运动项目数据类型,用于存放运动项目,包括项目编号、项目所取名次数、名次、分数。
(2)定义学校数据类型,用来存储参赛学校信息,包括学校编号、学校总
分、男团总分、女团总分、项目数组。
//定义学校结点类型
(3)定义学校数组schoolnode h[n]。
采用数组结构有利于随机的存储和查询。
函数的设计和实现
在概要设计中已经对该系统涉及的抽象数据类型和函数及其功能做了说明,
这里就不在对每个函数进行一一说明,只对其中比较重要的功能模块进行描述。
(1)信息输入及分数统计功能
void inputinformation( )为输入信息及分数统计函数。
在输入信息的同时进行分数的统计。
可以输入各个学校各项目前三名或前五名的成绩。
在输入学校的参赛项目时,结果取前三名还是前五名自己定,用一个选择语句实现。
利用swith 语句前三名的分数赋为5、3、2,前五名的成绩赋为7,5、3、2、1,未取得成绩则赋为0。
并统计团体总分,男团总分和女团总分。
其主要功能代码如下:
(2)信息输出功能
void output( )为输出函数。
列出一个输出目录利用swich语句使函数按学校编号输出或按学校总分、男团总分、女团总分由高到低排序输出。
利用辅助数组remember[]和冒泡排序的方法使之按分数的由高到低输出。
利用循环语句do while( )当输入2时返回输出目录,输入0是跳出循环返回主菜单。
其流程图如图2所示。
图2 输出信息模块流程图
(3)信息查询功能
void inquiry( )为查询函数。
列车一个查询目录利用swich 语句使函数按学校编号或项目编号查询,输出某学校的某个项目的得分情况或某个项目的前几名的学校。
再利用循环语句do while( )当输入2是返回查询目录,输入0时跳出循环返回主菜单。
其程序流程图如图3所示。
图3 查询信息模块程序流程图
(4)主函数
void main( )是主函数。
列出主菜单,利用switch语句调用以上函数实现各个菜单的功能。
其实现代码如下:
4 测试
运行程序,进入系统主菜单。
用户可以选择输入、输出、查询信息或退出系统,界面如图4所示。
(1)输入信息
输入1得到进入输入信息模块。
根据系统提示将以下信息输入系统中:
学校编号1,项目编号1,取前5名,获得1个名次,是第5名;项目编号2,取前3名,获得3个名次,分别是1、2、3名。
学校编号2,项目编号1,取前5名,获得4个名次,分别是1、2、3、4名;项目编号2,取前5名,获得0个名次。
输入信息后,会自动存档,并提示存档成功,然后自动返还主菜单,如图5所示。
(2)输出信息
输入2进入输出信息模块,该模块分四项,分别代表一种输出方式,如图6
所示。
用户可以按照自己的喜好,选择一种方式输入信息,输入2返回输出信息模块,输入0返回主菜单。
如图7~9分别是按照学校编号、学校总分、女团总分输出的情况。
按学校总分输出
按女团总分输出
(3)查询信息
输入3进入信息查询模块,该模块分为两项,如图10所示。
信息查询模块
用户可以选择不同菜单进行查询,如图11和图12分别是按照学校编号和项目编号查询的情况。
按学校编号查询
(4)退出系统
在主菜单下输入4可以退出系统,并有中文提示,如图所示。
退出系统
心得体会
在这次上机过程中遇到过一些问题,但经过不懈努力,解决了部分,还有的现在不能解决,留待日后思考和解决。
比如说在运用数据结构排序的时候,方法的选择上,总是想用时间复杂度小的算法,但结果出了问题,最后还是用了我们熟悉的选择法排序。
在编写之前,做整体规划和详细设计很重要。
只有思路清晰,设计合理可行,
编码才有可能有的放矢,才能更加有效的完成任务。
本次集中上机实验,对我来说可以算是一次挑战,因为在理论学习中没有好好的掌握,现在要独立完成一个较复杂的程序编写,确实有一点困难。
但我对于难度一向是以积极迎战的态度来面对,认真积极努力完成这次集中上机的任务。
对我来说这是一次很好的机会,同时我也很好的把握了这次机会,认真的完成了此次上机学习的任务,对自己今后在程序编写方面以及文档撰写方面相信会有很大的帮助,在此也对学校安排这样一次学习表示感谢,最后希望自己在数据结构
以及计算机的其他学习方面能够得到很好的提高。
6.用户使用手册
1.输入信息(依照提示,确保输入的信息在规定的范围之内)
2.输出信息(按照不同的要求输出)
3.用户查询(提供两种方式)
4.退出系统。