C语言程序设计运动会成绩统计系统Word文件下载.docx

上传人:b****5 文档编号:16327827 上传时间:2022-11-22 格式:DOCX 页数:25 大小:325.76KB
下载 相关 举报
C语言程序设计运动会成绩统计系统Word文件下载.docx_第1页
第1页 / 共25页
C语言程序设计运动会成绩统计系统Word文件下载.docx_第2页
第2页 / 共25页
C语言程序设计运动会成绩统计系统Word文件下载.docx_第3页
第3页 / 共25页
C语言程序设计运动会成绩统计系统Word文件下载.docx_第4页
第4页 / 共25页
C语言程序设计运动会成绩统计系统Word文件下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

C语言程序设计运动会成绩统计系统Word文件下载.docx

《C语言程序设计运动会成绩统计系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计运动会成绩统计系统Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。

C语言程序设计运动会成绩统计系统Word文件下载.docx

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

该生成绩为:

,指导老师(签名):

评定日期:

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1