1、1运动会分数统计系统课 程 设 计 报 告数 据 结 构院系: 专业: 班级: 学号: 姓名: 教师: 时间: 2一、问题描述1、功能任务:参加运动会有 n 个学校,学校编号为 1n。比赛分成 m 个男子项目,和 w个女子项目。项目编号为男子 1m,女子 m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。 (msi.aj.rangem;if(si.aj.top=3) /匹配各名次对应的分数6switch(si.aj.rangem)case 0: si.aj.markm=0; break;c
2、ase 1: si.aj.markm=5; break;case 2: si.aj.markm=3; break;case 3: si.aj.markm=2; break;elseswitch(si.aj.rangem)case 0: si.aj.markm=0; break;case 1: si.aj.markm=7; break;case 2: si.aj.markm=5; break;case 3: si.aj.markm=3; break;case 4: si.aj.markm=2; break;case 5: si.aj.markm=1; break;si.score=si.scor
3、e+si.aj.markm; /统计学校总分if(ji;if(iN) /学校编号超出范围,输出提示信息coutj;if(jM+W | j=0) /项目编号超出范围,输出提示信息couty;8if(yM+W | y=0) /项目编号超出范围,输出提示信息cout# include # include # define M 1 /男子项目个数# define W 1 /女子项目个数# define N 2 /学校个数# define NULL 0void Menu(); /函数声明typedef structchar proname10; /项目名称int pronum; /项目编号18int t
4、op; /取前 3 名或前 5 名积分,由用户自己定义int range5; /名次int mark5; /分数Pronode; /项目结点类型定义typedef struct char schname20; /学校名称int schnum; /学校编号int score; /总分int Mscore; /男团体总分int Wscore; /女团体总分 Pronode aM+W; /项目数组Schnode; /学校结点类型定义Schnode sN; /定义一个学校结点类型的结构体数组void Head() /头菜单界面coutsi.schname; coutsi.schnum; for(j=0
5、;jsi.aj.proname;coutsi.aj.pronum;coutsi.aj.top;coutk;for(m=0;msi.aj.rangem;if(si.aj.top=3) /匹配各名次对应的分数switch(si.aj.rangem)case 0: si.aj.markm=0; break;case 1: si.aj.markm=5; break;case 2: si.aj.markm=3; break;case 3: si.aj.markm=2; break;elseswitch(si.aj.rangem)case 0: si.aj.markm=0; break;case 1: s
6、i.aj.markm=7; break;case 2: si.aj.markm=5; break;case 3: si.aj.markm=3; break;case 4: si.aj.markm=2; break;case 5: si.aj.markm=1; break;si.score=si.score+si.aj.markm; /统计学校总分if(jnumber;switch(number)case 1: /按学校名称输出system(“cls“);Head(); /头菜单界面coutnumber;switch(number)case 1: /按学校编号查询system(“cls“); H
7、ead(); couti;if(iN) /学校编号超出范围,输出提示信息coutj;if(jM+W | j=0) /项目编号超出范围,输出提示信息couty;if(yM+W | y=0) /项目编号超出范围,输出提示信息coutnumber;switch(number)case 1: /输入信息system(“cls“); Head();cout“ 请输入运动会各学校信息:“endl;InfoInput(); /信息输入模块fsave(); /保存信息system(“cls“); break;case 2: /输出信息system(“cls“); InfoOutput(); /信息输出模块br
8、eak;case 3: /查询信息system(“cls“); Inquiry(); /信息查询模块break;case 4: /调用信息system(“cls“); Head();Read(); /调用信息模块system(“pause“); system(“cls“); break;case 5: /“关于”模块system(“cls“); Head();About(); /“关于”界面system(“pause“); 28system(“cls“);break;case 6: /退出系统system(“cls“);Head();cout“ 谢谢使用!“endl;exit(0);default: /其他cout“ 对不起,无此功能,请输入正确的功能序号!“endl;system(“pause“); system(“cls“);break;while(1);void main() /主函数 Menu(); /主菜单函数