C语言程序设计运动会成绩统计系统Word文件下载.docx
- 文档编号:16327827
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:25
- 大小:325.76KB
C语言程序设计运动会成绩统计系统Word文件下载.docx
《C语言程序设计运动会成绩统计系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计运动会成绩统计系统Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
5按男团体总分排序输出;
8)输入:
6按女团体总分排序输出;
9)输入:
7按学校编号查询学校某个项目的成绩;
10)输入:
8按项目编号查询取得前三名或前五名的学校;
11)输入:
0退出;
2系统总框图和功能模块说明
2.1系统总框图
2.2功能模块说明
1)输入:
·
输入某一项目的成绩
2)输入:
统计各校所有项目总分之和
3)输入:
输出各校各项目得分
按照总分从大到小排序
仅按照男子团体总分从大到小排序
仅按照女子团体总分从大到小排序
输入学校编号及项目编号可查询该校的该项目成绩
输入项目编号可查询该项目获得名次的学校
退出系统
3系统设计
3.1主要结构体
菜单号choo
学校:
num
项目:
ab
男团、de
女团、ke
3.2主要功能函数
voidexit0()
voidinput()
voideach()
voidbiaohao()
voidzongfen()
voidnanzong()
voidnvzong()
voidxuexiao()
voidxiangmu()
voidmain()
3.3关键函数的流程图
4系统调试
<
1>
开始界面,分别输入3、7、3.
输入1后显示
输入2后显示
输入3后显示
输入4后显示
输入5后显示
输入6后显示
输入7后显示
输入8后显示
输入9》》》》退出
5总结
本次课程设计检验了我的实践能力,感觉自己还有许多东西要学习,并不仅限于课本上的知识,实践才是真理,在学习中实践,实践中去学习。
学习的路很长。
再有要多问,几个人共同讨论会有意想不到的效果
6源程序清单
#include<
stdio.h>
stdlib.h>
inta,b,c,d,i,j;
structnode
{
intnum;
};
structnode*f[22];
voidexit0()
FILE*fp;
intk;
alp:
if((fp=fopen("
e:
\\sore.txt"
"
w"
))==NULL)
printf("
createrror\n"
);
1*****tryagain\n"
2*****tuichu\n"
3*****returnmenu\n"
//回到主菜单//
alj:
scanf("
%d"
&
k);
if(k==1)
gotoalp;
elseif(k==2)
exit(0);
elseif(k==3)
return;
else
输入错误,请重新输入:
"
gotoalj;
}
}printf(fp,"
\n\n"
fprintf(fp,"
*运动会分数统计表*\n\n\n"
printf(fp,"
*项目代号*"
for(i=1;
i<
=c+d;
i++)
printf(fp,"
%5d"
i);
"
\n*学校代号*"
=a;
%10d"
for(b=1;
b<
b++)
f[i][b].num);
\n"
the%dschoolnumbers\n\n"
a);
/*注:
本次运动会有%d个学校参赛*/
1~%d组是男子组,%d~%d组是女子组\n"
c,c+1,c+d);
/*其中1~%d组是男子组,%d~%d组是女子组*/
\n*比赛成绩已保存到当前路径下的sore.txt文件中*\n\n"
/*比赛成绩已保存到当前路径下的"
sore.txt"
文件中*/
fclose(fp);
exit
(1);
/*主菜单*/
intchoose()
intchoo;
\n\n1******输入成绩\n"
2******统计各学校的总分\n"
3******统计各学校各项目的得分\n"
4******按学校总分排序输出\n"
5******按男团体总分排序输出\n"
6******按女团体总分排序输出\n"
7******按学校编号查询学校某个项目的成绩\n"
8******按项目编号查询取得前三或前五名的学校\n"
9******退出\n\n"
请选择:
scanf("
choo);
return(choo-1);
}
/*输入信息*/
intab,ac,ae,af,g=1,get[5]={0,0,0,0,0};
\n请输入项目代号:
ale:
ab);
if(ab>
c+d||ab<
1)
\n此项目代号不存在,重新输入:
gotoale;
ae=0;
for(i=0;
if(f[i][ab].num!
=0)
ae=1;
break;
if(ae==1)
al2:
printf("
\n此项目成绩已被录入过,是否要重新录入:
//此项目成绩曾经已被录入过,是否要重新录入(您输入的项目代号可能有误,强烈建议您查证后再录入)//
1++++是\n"
//(若重新录入,以前的该项目成绩将被删除)//
2++++否\n"
//不要,待查证后再录入//
af);
if(af==2)
已取消录入!
elseif(af==1)
f[i][0].num=f[i][0].num-f[i][ab].num;
if(ab<
=c)
f[i][c+d+1].num=f[i][c+d+1].num-f[i][ab].num;
f[i][c+d+2].num=f[i][c+d+2].num-f[i][ab].num;
f[i][ab].num=0;
gotoal2;
al:
\n此项目是以前几名为胜出者:
//选择得分标准//
3-------以前三名\n"
5-------以前五名\n"
ac);
if(ac==3)
请按照第一、第二、第三的名次依次输入获胜学校代号:
af=5;
3;
alq:
ae);
if(ae>
a||ae<
%d学校代号不存在,重新输入第%d名的学校代号:
ae,g);
gotoalq;
for(b=0;
5;
if(ae==get[b])
同一个学校不能在同一项目中有两个名次,请重新输入第%d名的学校代号:
g);
get[b]=ae;
f[ae][0].num=f[ae][0].num+af;
f[ae][ab].num=af;
if(ab<
f[ae][c+d+1].num=f[ae][c+d+1].num+af;
f[ae][c+d+2].num=f[ae][c+d+2].num+af;
if(af>
3)
af=af-2;
af--;
g++;
elseif(ac==5)
请按照第一、第二、第三、第四、第五的名次依次输入获胜学校代号:
af=7;
alw:
%d学校代号不存在,重新输入第%d名的学校代号:
gotoalw;
gotoal;
输入完成!
\n"
/*学校成绩*/
\n学校代号:
团体总成绩\n"
%d:
%d\n"
i,f[i][0].num);
/*各项目成绩*/
voidbiaohao()
\n项目代号:
if(i>
9)
%d"
%5d"
\n学校代号:
%7d"
if(f[i][b].num>
%6d"
%7d"
/*按学校总分排序输出*/
structnod
intke;
intha;
structnod*de;
de=(structnod*)malloc(sizeof(structnod)*a+1);
de[i].ke=i;
de[i].num=f[i][0].num;
for(b=i;
if(de[b].num>
de[i].num)
ha=de[b].ke;
de[b].ke=de[i].ke;
de[i].ke=ha;
ha=de[b].num;
de[b].num=de[i].num;
de[i].num=ha;
{
de[i].ke,de[i].num);
/*按男子团队总分排序*/
男子团体总成绩\n"
de[i].num=f[i][c+d+1].num;
/*按女子团队总分排序*/
女子团体总成绩\n"
de[i].num=f[i][c+d+2].num;
/*按学校编号查询学校某个项目的成绩*/
intdr,dt;
\n要查询的学校代号:
aly:
dr);
if(dr>
a||dr<
学校代号不存在,重新输入:
gotoaly;
要查询的项目代号:
alo:
dt);
if(dt>
c+d||dt<
项目代号不存在,重新输入:
gotoalo;
第%d所学校的第%d项目成绩为%d\n"
dr,dt,f[dr][dt].num);
/*按项目编号查询取得前三或前五名的学校*/
voidxiangmu()
intge,sedy=0;
\n要查询的项目代号:
all:
ge);
if(ge>
c+d||ge<
1)
{
没有此项目代号,重新输入:
gotoall;
for(i=1;
if(f[i][ge].num==2)
sedy=1;
if(sedy==0)
此项目没有录入成绩\n"
if(f[i][ge].num==7)
此项目取前5名学校成绩高到低依次为:
if(i==a+1)
此项目取前3名学校成绩高到低依次为:
\n"
for(i=7;
i>
0;
i--)
if(f[b][ge].num==i)
%d号学校\n"
b);
void(*g[])()={input,each,biaohao,zongfen,nanzong,nvzong,xuexiao,xiangmu,exit0};
/*主函数*/
voidmain()
intchoos;
\n\n***运动会分数统计***\n\n\n"
共有多少个学校参赛:
a);
while(a<
=0||a>
20)
if(a<
\n参赛学校个数不能是负数或零\n\n"
if(a>
\n参赛学校个数不能大于20\n\n"
有几个男子组:
c);
有几个女子组:
d);
f[i]=(structnode*)malloc(sizeof(structnode)*(c+d+3));
for(j=0;
j<
=c+d+2;
j++)
f[i][j].num=0;
choos=choose();
while
(1)
while(choos<
0||choos>
8)
(*g[choos])();
程序设计工程训练成绩评定标准表
明细项目
评分等级(含系数)
评分分值
实际得分
考勤
A
(1)
B(0.8)
C(0.5)
D(0.0)
10
工程项目规范
D(0.2)
工程训练报告
30
设计作品质量
45
材料收集情况
5
综合评分
优
90-100
良
80-89
中
70-79
合格
60-69
不合格
0-59
该生成绩为:
,指导老师(签名):
评定日期:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 运动会 成绩 统计 系统