我的C语言课设运动会分数统计Word格式.docx

上传人:b****7 文档编号:22977078 上传时间:2023-02-06 格式:DOCX 页数:21 大小:408.27KB
下载 相关 举报
我的C语言课设运动会分数统计Word格式.docx_第1页
第1页 / 共21页
我的C语言课设运动会分数统计Word格式.docx_第2页
第2页 / 共21页
我的C语言课设运动会分数统计Word格式.docx_第3页
第3页 / 共21页
我的C语言课设运动会分数统计Word格式.docx_第4页
第4页 / 共21页
我的C语言课设运动会分数统计Word格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

我的C语言课设运动会分数统计Word格式.docx

《我的C语言课设运动会分数统计Word格式.docx》由会员分享,可在线阅读,更多相关《我的C语言课设运动会分数统计Word格式.docx(21页珍藏版)》请在冰豆网上搜索。

我的C语言课设运动会分数统计Word格式.docx

2.2.1定义数据类型

本程序首先定义了两个结构体作为项目和分数的存储媒介,一是项目结构体,定义了项目名称,前五名学校编号,二是学校结构体,定义了学校编号、学校姓名、学校总分、男子总分、女子总分。

定义如下:

【1】【2】

项目结构体

structpro//表示项目的结构体

{

stringname;

//项目名称

intsnum[6];

//前5名学校的编号

}p[21];

学校结构体

structschool//表示学校的结构体

intnum;

//学校名称

intscore;

//学校总分

intmale;

//男子总分

intfemale;

//女子总分

}sch[21];

2.2.2主函数及其流程图

定义主函数main()和一系列的功能函数,只有通过这些函数才可实现程序的功能。

每次使用都会调用菜单函数。

主函数主要是利用for循环语句和while循环语句对数据进行处理。

[3][5]

图2主函数流程图

2.2.3输入函数及其流程图

图3输入函数流程图

2.2.4功能函数流程图

图4按编号排列流程图

图5输入查询项目编号流程图

图6按学校总分排列流程图

图6按学校总分排列流程图

2.3源程序:

#include<

stdio.h>

iostream>

string>

iomanip>

fstream>

usingnamespacestd;

intn;

//n个学校

intm;

//m个男子项目

intw;

//w个女子项目

{stringname;

{intnum;

intintegral[5]={7,5,3,2,1};

//前五名得分

voidinput()

{inti,j,y,x;

printf("

输入学校数目:

"

);

y=0;

while

(1)

{scanf("

%d"

&

n);

if(n>

=1&

&

n<

=20)y=1;

if(y)break;

elseprintf("

输入数据有误,请重新输入:

}

for(i=1;

i<

=n;

i++)

{printf("

输入第%d个学校的名称:

i);

cin>

>

sch[i].name;

sch[i].score=0;

sch[i].female=0;

sch[i].male=0;

sch[i].num=i;

输入男子项目数和女子项目数:

%d%d"

m,&

w);

if(m<

=20&

m>

w<

w>

=1)y=1;

=m+w;

输入第%d个项目的名称:

\n"

for(i=0;

=(m+w);

{scanf("

%ds\n"

sch[i].name);

}

输入第%d个项目的前5名的学校编号:

for(j=1;

j<

=5;

j++)

{y=0;

scanf("

x);

if(x>

x<

p[i].snum[j]=x;

sch[x].score+=integral[j-1];

if(i<

=m)sch[x].male+=integral[j-1];

elsesch[x].female+=integral[j-1];

voidprint(inti)

%d,%s,%d,%d,%d\n"

i,sch[i].name,sch[i].score,sch[i].male,sch[i].female);

voidbianhao()//按编号排序

{inti,j;

schoolt;

n;

{for(j=i;

if(sch[i].num>

sch[j].num)

{t=sch[i];

sch[i]=sch[j];

sch[j]=t;

\n按编号排列:

编号学校名称总分男子总分女子总分\n"

print(i);

voidzongfen()//按学校总分排序

for(j=i;

if(sch[i].score<

sch[j].score)

\n按学校总分排列:

ofstreamfout;

fout.open("

运动会分数统计.txt"

{printf("

i,t,sch[i].score,sch[i],sch[j]);

}

fout.close();

voidmalezf()//按学校男总分排序

inti,j;

if(sch[i].male<

sch[j].male)

\n按学校男子总分排列:

voidfemalezf()//按学校女总分排序

if(sch[i].female<

sch[j].female)

\n按学校女子总分排列:

voidcxsch()//查询学校信息

inti,y,s;

输入需要查询的学校编号:

s);

if(s>

s<

=n)y=1;

该学校相关信息:

if(sch[i].num==s)

break;

voidcxxm()//查询项目信息

输入需要查询的项目编号:

前5名学校编号及名称为:

名次编号学校名称\n"

%d,%d,%c\n"

i,y,s);

voidsolve()//菜单函数

{intz;

\n选择您需要的操作(选择序号):

1.按学校编号排序输出\n"

2.按学校总分排序输出\n"

3.按学校男总分排序输出\n"

4.按学校女总分排序输出\n"

5.查询某个学校成绩\n"

6.查询某个项目成绩\n"

7.结束\n\n"

z);

if(z==1)bianhao();

if(z==2)zongfen();

if(z==3)malezf();

if(z==4)femalezf();

if(z==5)cxsch();

if(z==6)cxxm();

if(z==7)break;

intmain()//主函数

input();

solve();

return0;

3.设计结果与分析

3.1运行程序

将源程序编译、链接后生成可执行文件,运行该文件会看到如图7所示的提示信息,输入9后按回车,根据提示输入信息,如图所示:

图7输入参加运动会的学校数目和名称的界面

运行程序时,首先调用input()函数,该函数主要是利用for循环输入各个参加运动会的学校的名称。

3.2增加信息

输入如上信息,按回车,并根据提示输入运动会的项目个数和名称以及各个项目前5名的学校编号,出现如下的界面:

图8输入运动会的项目个数和名称以及各个项目前5名的学校编号的界面

输入后系统调用input()函数,并提示输入第n个项目的名称,回车提示输入获得本项目前五名的学校编号,先利用if语句判断是否满足条件,再利用for循环语句输入相关的信息。

3.3功能操作

3.3.1输入完毕按回车,出现菜单函数界面

图9菜单函数界面

输入信息结束后按回车,出现菜单函数界面,此时系统调用solve()函数,该函数主要是利用printf语句输出,其结图所示。

3.3.2按学校编号顺序输出

图10按学校编号顺序输出界面

在输入1按回车后,结果如图所示。

该部分调用bianhao()函数对学校排序,主要利用for循环语句嵌套的选择法来进行排序,用for循环语句输出结果。

3.3.3按学校总分排序输出

图11按学校总分排序界面

本部分调用zongfen()函数对各学校的总分数排序,在输入2后按回车出现如图界面。

主要是利用for循环语句嵌套的选择法来进行排序,用for循环语句输出结果。

3.3.4按学校男总分排序输出

图12按学校男子总分排序界面

本部分调用malezf()函数对各学校的女子分数排序,在输入3后按回车出现如图界面。

3.3.5按学校女总分排序输出

图13按学校女子总分排序界面

本部分调用femalezf()函数对各学校的女子分数排序,在输入2后按回车出现如图界面。

主要是利用for循环语句双层嵌套的选择法来进行排序,用for循环语句输出结果。

3.3.6查询学校编号为3的相关信息和分数

图14查询某学校的分数

本部分调用cxsch()函数对某学校的分数查询,输入5按回车后,出现提示信息“输入需要查询的学校编号:

”根据提示输入3,按回车后,结果如图所示。

该部分利用while循环语句可以实现多次查询,并利用if语句判断是否满足条件,满足则执行输出结果语句,否则提示错误信息。

3.3.7查询项目编号为6的运动项目信息和前五名学校排名

图15查询某项目成绩界面

本部分调用cxxm()函数对某项目的分数排序,输入6按回车后,出现提示信息“输入需要查询的项目编号:

”,根据提示输入6,按回车后,结果如图所示。

该部分利用while循环语句可以实现多次查询,并利用if语句判断是否满足条件,满足则执行输出结果语句,否则提示错误信息

3.3.8退出程序

图16退出程序界面

输入7按回车后,结果如图所示,此时函数执行break语句,出现“Pressanykeytocontinue”提示信息,结束程序。

四、设计体会

经过这学期对C语言的学习,我们学习了理论知识,了解了C语言程序设计的思想和方法,这些知识都为我们的下一步学习打下了坚实的基础。

本次课程设计,我的题目是运动会分数统计系统,通过这几天的上网查找资料和编译运行,我发现自己在各个方面还有很多不足,希望经过这次的实践后,不断学习,努力充实自己,开拓眼界,转换思维,不断提升自身能力,具有更好的编程能力。

在本次的课程设计中,遇见的最大的问题是对程序的编译和运行,还有一些知识不是很熟练。

而且由于是第一次接触这样长而且复杂的程序,在开始时有些胆怯,担心自己会完成不好,但经过一周时间的上网查找和翻阅资料,终于完成了课程设计。

通过此次课程设计,我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力,增强了自己的动手能力,使自己的实践能力得到提高,同时也意识到自己的不足,需要在今后的道路上不断地的学习来充实自己。

五、参考文献

[1]梁建武、陈英VisualC++程序设计实验指导与实训[M].中国水利水电出版社,2006.7173-178

[2]李岚,李莉,金一宁.C语言程序设计与上机指导[M].北京:

清华电子工业出版社,2005.5198—202

[3]苏小红,陈惠鹏,温东新,李秀坤.教程[M].北京:

电子工业出版社,2004.1(3)123-133

[4]梁翎、李爱齐C语言程序设计实用技巧与程序实例[J]计算机科学报1996.5126-135

[5]王敬华,林萍,陈静.C语言程序设计教程[M].北京:

清华大学出版社,2005.10184

[6]胡玲洁VC++编程技术与技巧研究[J]电脑编程技巧与维护报2009年第16期198-203

[7]林秋申C/C++的编程风格与强壮性的探讨[J]莆田学院学报2002年第3期142-148

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

当前位置:首页 > 考试认证 > 从业资格考试

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

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