运动会系统.docx
《运动会系统.docx》由会员分享,可在线阅读,更多相关《运动会系统.docx(86页珍藏版)》请在冰点文库上搜索。
运动会系统
首页(学校规定的)
课程设计任务书
学院
信息学院
专业
计算机科学与技术
学生姓名
学号
题目
运动会分数统计程序的设计
内容及要求:
内容:
(列出相应题目)
运动会分数统计任务:
参加运动会有n个学校,学校编号为1……n。
比赛分成m个男子项目,和w个女子项目。
项目编号为男子1……m,女子m+1……m+w。
不同的项目取前五名或前三名积分;取前五名的积分分别为:
7、5、3、2、1,前三名的积分分别为:
5、3、2;哪些取前五名或前三名由学生自己设定。
(m<=20,n<=20)
功能要求:
1).可以输入各个项目的前三名或前五名的成绩;
2).能统计各学校总分,
3).可以按学校编号、学校总分、男女团体总分排序输出;
4).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。
规定:
输入数据形式和范围:
20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)
输出形式:
有中文提示,各学校分数为整形
界面要求:
有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
存储结构:
学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。
(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;
测试数据:
要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。
进行程序测试,以保证程序的稳定。
测试数据及测试结果请在上交的资料中写明;
要求:
1.设计数据结构,存储结构;
2.在Turboc或兼容环境完成上述题目的代码编写与调试;
3.程序运行界面交互性好;
4.给出两组测试数据。
任务交付:
1.程序源代码;2课程设计论文及电子文档。
进度安排:
本课程设计时间为16、17教学周。
其中包含设计、代码调试、课程设计论文撰写几个阶段。
第1周查找资料、完成初步设计、代码设计与初步调试;
第2周调试、测试、验收、课程设计论文撰写、答辩。
指导教师(签字):
年月日
学院院长(签字):
年月日
目录
1、功能需求分析及初步设计3
2、概要设计3
3、详细设计3
4、测试数据及结果分析3
5、课设总结3
参考文献3
附录4
1、功能需求分析及初步设计
功能图如图【A】
图【A】
2、概要设计
文件输出学校信息存入数组stu中,男选手选3选5,女选手选3选5项目分别存入man1
man2.,woman1.woman2数组中,最终修改后存入文件中,都是以文件和数组形式存储
1、主流程如图【1】
图【1】
2、排序流程图如图【2】
图【2】
3、显示某项信息的结构图图如【3】
图【3】
4、显示某个学校信息结构图【4】
图【4】
3、详细设计
运行界面截图:
1、主界面
、
2、学校编号排序
3、总分数排序
4、男选手分排序
5女选手分排序
6、查询某个项目情况
7、查询某个学校情况
8、数据更新界面
9、局部更改
10、整体更改
程序代码:
1、主界面实现
system("cls");
cout<cout<<"\t\t!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
"<cout<<"\t\t\t按学校编号排序输出(升序)按[1]"<cout<<"\t\t\t按学校总分排序输出(升序)按[2]"<cout<<"\t\t\t按学校男选手总分排序输出(升序)按[3]"<cout<<"\t\t\t按学校女选手总分排序输出(升序)按[4]"<cout<<"\t\t\t输入更新按[5]"<cout<<"\t\t\t查询某个项目情况按[6]"<cout<<"\t\t\t查询某个学校某个项目情况按[7]"<cout<<"\t\t\t退出按[0]"<cout<<"\t请选择:
";
2编号排序界面实现
system("cls");
cout<<"\t\t\t编号升序排列输出(第一个数):
"<inti,j;
schoolt[11];
for(i=1;i<11;i++)
{
strcpy(t[i].name,sch[i-1].name);
strcpy(t[i].num,sch[i-1].num);
t[i].manscore=sch[i-1].manscore;
t[i].womanscore=sch[i-1].womanscore;
t[i].totalscore=sch[i-1].totalscore;
}
for(i=2;i<11;i++)
{
strcpy(t[0].name,t[i].name);
strcpy(t[0].num,t[i].num);
t[0].manscore=t[i].manscore;
t[0].womanscore=t[i].womanscore;
t[0].totalscore=t[i].totalscore;
for(j=i-1;strcmp(t[j].num,t[0].num)>0;j--)
{
strcpy(t[j+1].name,t[j].name);
strcpy(t[j+1].num,t[j].num);
t[j+1].manscore=t[j].manscore;
t[j+1].womanscore=t[j].womanscore;
t[j+1].totalscore=t[j].totalscore;
}
strcpy(t[j+1].name,t[0].name);
strcpy(t[j+1].num,t[0].num);
t[j+1].manscore=t[0].manscore;
t[j+1].womanscore=t[0].womanscore;
t[j+1].totalscore=t[0].totalscore;
}
for(i=1;i<11;i++)
{
cout<cout<cout<cout<cout<}
getch();
3、总分排序代码
schoolt[11];
system("cls");
cout<<"\t\t\t总成绩升序排序(第四个数):
"<for(i=1;i<11;i++)
{
strcpy(t[i].name,sch[i-1].name);
strcpy(t[i].num,sch[i-1].num);
t[i].manscore=sch[i-1].manscore;
t[i].womanscore=sch[i-1].womanscore;
t[i].totalscore=sch[i-1].totalscore;
}
for(i=2;i<11;i++)
{
strcpy(t[0].name,t[i].name);
strcpy(t[0].num,t[i].num);
t[0].manscore=t[i].manscore;
t[0].womanscore=t[i].womanscore;
t[0].totalscore=t[i].totalscore;
for(j=i-1;t[0].totalscore{
strcpy(t[j+1].name,t[j].name);
strcpy(t[j+1].num,t[j].num);
t[j+1].manscore=t[j].manscore;
t[j+1].womanscore=t[j].womanscore;
t[j+1].totalscore=t[j].totalscore;
}
strcpy(t[j+1].name,t[0].name);
strcpy(t[j+1].num,t[0].num);
t[j+1].manscore=t[0].manscore;
t[j+1].womanscore=t[0].womanscore;
t[j+1].totalscore=t[0].totalscore;
}
for(i=1;i<11;i++)
{
cout<cout<cout<cout<cout<}
getch();
/4、男选手排序
schoolt[11];
system("cls");
cout<<"\t\t\t男总成绩升序排序(第二个数):
"<for(i=1;i<11;i++)
{
strcpy(t[i].name,sch[i-1].name);
strcpy(t[i].num,sch[i-1].num);
t[i].manscore=sch[i-1].manscore;
t[i].womanscore=sch[i-1].womanscore;
t[i].totalscore=sch[i-1].totalscore;
}
for(i=2;i<11;i++)
{
strcpy(t[0].name,t[i].name);
strcpy(t[0].num,t[i].num);
t[0].manscore=t[i].manscore;
t[0].womanscore=t[i].womanscore;
t[0].totalscore=t[i].totalscore;
for(j=i-1;t[0].manscore{
strcpy(t[j+1].name,t[j].name);
strcpy(t[j+1].num,t[j].num);
t[j+1].manscore=t[j].manscore;
t[j+1].womanscore=t[j].womanscore;
t[j+1].totalscore=t[j].totalscore;
}
strcpy(t[j+1].name,t[0].name);
strcpy(t[j+1].num,t[0].num);
t[j+1].manscore=t[0].manscore;
t[j+1].womanscore=t[0].womanscore;
t[j+1].totalscore=t[0].totalscore;
}
for(i=1;i<11;i++)
{
cout<cout<cout<cout<cout<}
getch();
2、女选手排序
schoolt[11];
system("cls");
cout<<"\t\t\t女总成绩升序排序(第三个数):
"<for(i=1;i<11;i++)
{
strcpy(t[i].name,sch[i-1].name);
strcpy(t[i].num,sch[i-1].num);
t[i].manscore=sch[i-1].manscore;
t[i].womanscore=sch[i-1].womanscore;
t[i].totalscore=sch[i-1].totalscore;
}
for(i=2;i<11;i++)
{
strcpy(t[0].name,t[i].name);
strcpy(t[0].num,t[i].num);
t[0].manscore=t[i].manscore;
t[0].womanscore=t[i].womanscore;
t[0].totalscore=t[i].totalscore;
for(j=i-1;t[0].womanscore{
strcpy(t[j+1].name,t[j].name);
strcpy(t[j+1].num,t[j].num);
t[j+1].manscore=t[j].manscore;
t[j+1].womanscore=t[j].womanscore;
t[j+1].totalscore=t[j].totalscore;
}
strcpy(t[j+1].name,t[0].name);
strcpy(t[j+1].num,t[0].num);
t[j+1].manscore=t[0].manscore;
t[j+1].womanscore=t[0].womanscore;
t[j+1].totalscore=t[0].totalscore;
}
for(i=1;i<11;i++)
{
cout<cout<cout<cout<cout<}
getch();
3、查询某个项目情况代码
inti,j;
chara[15];
cout<<"\t\t\t查询某个项目情况"<cout<<"\t\t输入项目名:
";
cin>>a;
for(i=0;i<5;i++)
{
if(strcmp(man1[i][0].itemname,a)==0)
{
cout<<"\t\t男子:
"<for(j=0;j<3;j++)
{
switch(j)
{
case0:
cout<<"第一名";break;
case1:
cout<<"第二名";break;
default:
cout<<"第三名";break;
}
cout<<"\t\t\t学校:
";
cout<}
}
}
for(i=0;i<3;i++)
{
if(strcmp(man2[i][0].itemname,a)==0)
{
cout<<"\t\t男子:
"<for(j=0;j<5;j++)
{
switch(j)
{
case0:
cout<<"第一名";break;
case1:
cout<<"第二名";break;
case2:
cout<<"第三名";break;
case3:
cout<<"第四名";break;
default:
cout<<"第五名";break;
}
cout<<"\t\t\t学校:
";
cout<}
}
}
for(i=0;i<4;i++)
{
if(strcmp(woman1[i][0].itemname,a)==0)
{
cout<<"\t\t女子:
"<for(j=0;j<3;j++)
{
switch(j)
{
case0:
cout<<"第一名";break;
case1:
cout<<"第二名";break;
default:
cout<<"第三名";break;
}
cout<<"\t\t\t学校:
";
cout<}
}
}
for(i=0;i<3;i++)
{
if(strcmp(woman2[i][0].itemname,a)==0)
{
cout<<"\t\t女子:
"<for(j=0;j<5;j++)
{
switch(j)
{
case0:
cout<<"第一名";break;
case1:
cout<<"第二名";break;
case2:
cout<<"第三名";break;
case3:
cout<<"第四名";break;
default:
cout<<"第五名";break;
}
cout<<"\t\t\t学校:
";
cout<}
}
}
getch();
4、查询某个学校信息代码
inti,j,key1=0,key2=0;
chara[15];
cout<<"\t\t\t查询某个学校某个项目情况"<cout<<"\t\t输入学校名:
";
cin>>a;
cout<<"\t\t男子:
"<for(i=0;i<5;i++)
for(j=0;j<3;j++)
{
if(strcmp(man1[i][j].from,a)==0)
{
key1=1;
cout<switch(j)
{
case0:
cout<<"第一名"<case1:
cout<<"第二名"<default:
cout<<"第三名"<}
}
}
if(key1==0)cout<<"\t\t男子:
"<for(i=0;i<3;i++)
for(j=0;j<5;j++)
{
if(strcmp(man2[i][j].from,a)==0)
{
key1=1;
cout<switch(j)
{
case0:
cout<<"第一名"<case1:
cout<<"第二名"<case2:
cout<<"第三名"<case3:
cout<<"第四名"<default:
cout<<"第五名"<}
}
}
cout<<"\t\t女子:
"<for(i=0;i<4;i++)
for(j=0;j<3;j++)
{
if(strcmp(woman1[i][j].from,a)==0)
{
key2=1;
cout<switch(j)
{
case0:
cout<<"第一名"<case1:
cout<<"第二名"<default:
cout<<"第三名"<}
}
}
if(key2==0)cout<<"\t\t女子:
"<for(i=0;i<3;i++)
for(j=0;j<5;j++)
{
if(strcmp(woman2[i][j].from,a)==0)
{
key1=1;
cout<switch(j)
{
case0:
cout<<"第一名"<case1:
cout<<"第二名"<case2:
cout<<"第三名"<case3:
cout<<"第四名"<default:
cout<<"第五名"<}
}
}
getch();
5、更改界面显示代码
inta;
A:
system("cls");
cout<cout<<"\t\t!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
"<cout<<"\t\t\t局部更改按[1]"<cout<<"\t\t\t格式化,再从新输入按[2]"<cout<<"\t\t\t退出按[3]"<cout<<"\t请选择:
";
6、局部更改
cout<cout<<"\t\t!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
"<cout<<"\t\t\t改变选3男选手得分情况按[1]"<co