C语言课设之校运动会管理完整整理.docx

上传人:b****7 文档编号:25660434 上传时间:2023-06-11 格式:DOCX 页数:22 大小:115.01KB
下载 相关 举报
C语言课设之校运动会管理完整整理.docx_第1页
第1页 / 共22页
C语言课设之校运动会管理完整整理.docx_第2页
第2页 / 共22页
C语言课设之校运动会管理完整整理.docx_第3页
第3页 / 共22页
C语言课设之校运动会管理完整整理.docx_第4页
第4页 / 共22页
C语言课设之校运动会管理完整整理.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

C语言课设之校运动会管理完整整理.docx

《C语言课设之校运动会管理完整整理.docx》由会员分享,可在线阅读,更多相关《C语言课设之校运动会管理完整整理.docx(22页珍藏版)》请在冰豆网上搜索。

C语言课设之校运动会管理完整整理.docx

C语言课设之校运动会管理完整整理

C程序设计实习报告

校际运动会管理系统

一、题目要求

(1)信息初始化

输入:

N─参赛学校总数,M─男子竞赛工程数,W─女子竞赛工程数;

各工程名次取法有如下几种:

取前5名:

第一名得分7,第二名得分5,第三名得分3,第四名得分2,第五名得分1;

②取前3名:

第一名得分5,第二名得分3,第三名得分2;

③用户自定义:

各名次权值由用户指定。

(2)提醒用户填写比赛结果,输入各工程获奖运动员信息。

(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,察看参赛学校信息和比赛工程信息等。

二.总体设计

分析整个系统,根据以上的需求分析及题目要求,可将整个系统的设计分为以下五个模块:

信息输入、录入比赛结果、查询信息、退出.

1.

总的模块图

三、详细设计

1.主函数

主函数一般设计的较为简洁,只提供输入、功能处理和输出部分的函数调用。

其中各功能模块用菜单方式选择。

另外菜单部分也可以写成函数。

[流程图]

[程序]

voidmain()

{

menu()。

}

voidmenu()

{

intn,w1。

do

{

puts("\t\t***^__^Welcometoloadsportssystem!

^__^***\n")。

puts("\t\t************************MENU*************************\n")。

puts("\t\t********1.Entertheinformation**************\n")。

puts("\t\t********2.Score比赛结果录入**************\n")。

puts("\t\t********3.Search**************\n")。

puts("\t\t********4.Exit**************\n")。

puts("\t\t******************************************************\n")。

printf("Choiceyournumber(1-4):

[]\b\b")。

scanf("%d",&n)。

if(n<1||n>4)

{

w1=1。

getchar()。

}

elsew1=0。

}

while(w1==1)。

switch(n)

{case1:

Information()。

break。

//输入信息

case2:

savescore()。

break。

//比赛结果录入

case3:

Search()。

break。

//查询模块

case4:

exit(0)。

}

}

2.各功能模块设计

2.信息输入模块

一是参赛学校信息,二是参赛运动员信息,三是比赛工程信息,分别输入并保存

voidInformation()

{

intn,w。

do{

puts("\n\n\n")。

puts("\t\t***^__^Welcometoload信息录入system!

^__^***\n")。

puts("\t\t*************************MENU*************************\n")。

puts("\t\t********1.saveathlete**********\n")。

puts("\t\t********2.saveschool**********\n")。

puts("\t\t********3.saveprogram()**********\n")。

puts("\t\t********4.back**********\n")。

puts("\t\t***************************************\n")。

printf("Choicyournumber(1-4):

[]\b\b")。

scanf("%d",&n)。

if(n<1||n>4)

{

w=1。

getchar()。

}

elsew=0。

}

while(w==1)。

switch(n)

{

case1:

saveathlete()。

break。

//保存运动员信息子函数

case2:

saveschool()。

break。

//保存学校信息子函数

case3:

saveprogram()。

break。

//保存工程比赛信息子函数

case4:

exit(0)。

}

}

3.结果录入模块

(3)查询信息模块

[分析]

查询信息模块提供按不同方式查询各种信息机返回功能,其中各功能模块用菜单方式选择。

菜单部分也可写成函数。

1.结果

各模块界面图如图:

(1)主菜单函数

(2)信息录入模块

(3)查询子菜单

(4)按学校名字查询信息

(5)按工程查询工程信息

(5)查询团体总分

程序代码:

//杨雪.cpp:

Definestheentrypointfortheconsoleapplication.

//

#include

#include

#include

#include

#defineSIZE9

#defineN3

#defineWM3

voidbsxm()。

voidcsxx()。

voidInformation()。

voidmain()。

voidmenu()。

voidprintf_back()。

voidsaveathlete()。

voidsaveprogram()。

voidsaveschool()。

voidsavescore()。

voidSearch()。

voidttzf()。

inti。

FILE*fp1,*fp2,*fp3,*fp4。

structathlete//定义运动员信息

{

charuniv[5]。

charname[8]。

charprog[15]。

charmingci[5]。

intscore。

}at[SIZE]。

structxuexiao//定义学校信息

{

charuniv[5]。

charprog[15]。

intnum_athlete。

}xx[N]。

structprogram//定义工程信息

{

charprog[5]。

intquming。

charath1[5]。

charath2[5]。

charuniv1[5]。

charuniv2[5]。

}pro[WM]。

structzongfen//定义学校得分信息

{

charuniv[5]。

charprog1[5]。

charprog2[5]。

charprog3[5]。

intscore1。

intscore2。

intscore3。

inttotal_score。

}zf[N]。

voidInformation()

{

intn,w。

do{

puts("\n\n\n")。

puts("\t\t***^__^Welcometoload信息录入system!

^__^***\n")。

puts("\t\t*************************MENU*************************\n")。

puts("\t\t********1.saveathlete**********\n")。

puts("\t\t********2.saveschool**********\n")。

puts("\t\t********3.saveprogram()**********\n")。

puts("\t\t********4.back**********\n")。

puts("\t\t***************************************\n")。

printf("Choicyournumber(1-4):

[]\b\b")。

scanf("%d",&n)。

if(n<1||n>4)

{

w=1。

getchar()。

}

elsew=0。

}

while(w==1)。

switch(n)

{

case1:

saveathlete()。

break。

//保存运动员信息子函数

case2:

saveschool()。

break。

//保存学校信息子函数

case3:

saveprogram()。

break。

//保存工程比赛信息子函数

case4:

exit(0)。

}

}

voidsaveathlete()//保存运动员信息子函数

{

printf("\n请输入各工程获奖运动员的信息:

")。

for(i=0。

i

i++)

{

printf("\n请输入第%d个运动员的信息:

\n",i+1)。

printf("姓名:

")。

scanf("%s",at[i].name)。

printf("学校:

")。

scanf("%s",at[i].univ)。

printf("参赛工程:

")。

scanf("%s",at[i].prog)。

printf("名次:

")。

scanf("%s",at[i].mingci)。

printf("得分:

")。

scanf("%d",&at[i].score)。

}

fp1=fopen("ath","w")。

for(i=0。

i

i++)

{

if(fwrite(&at[i],sizeof(structathlete),1,fp1)!

=1)

printf("Filewriteerror!

\n")。

}

fclose(fp1)。

fp1=fopen("ath","r")。

printf("\n现在各运动员的信息如下:

\n\n")。

printf("姓名学校工程名次得分\n")。

for(i=0。

i

i++)

{

fread(&at[i],sizeof(structathlete),1,fp1)。

printf("%-10s%-10s%-18s%-10s%d\n",at[i].name,at[i].univ,at[i].prog,at[i].mingci,at[i].score)。

}

fclose(fp1)。

printf_back()。

}

voidsaveschool()//保存学校信息子函数

{

printf("\n请输入各参赛学校的信息:

")。

for(i=0。

i

i++)

{

printf("\n请输入第%d个学校的信息:

\n",i+1)。

printf("学校:

")。

scanf("%s",xx[i].univ)。

printf("参赛的工程:

")。

scanf("%s",xx[i].prog)。

printf("参赛者数:

")。

scanf("%d",&xx[i].num_athlete)。

}

fp3=fopen("xxiao","w")。

for(i=0。

i

i++)

{

if(fwrite(&xx[i],sizeof(structxuexiao),1,fp3)!

=1)

printf("Filewriteerror!

\n")。

}

fclose(fp3)。

printf_back()。

}

voidsaveprogram()//保存工程比赛信息子函数

{

printf("\n请输入关于比赛工程的信息:

")。

for(i=0。

i

i++)

{

printf("\n请输入第%d项比赛的信息:

\n",i+1)。

printf("工程:

")。

scanf("%s",pro[i].prog)。

printf("取分情况:

")。

scanf("%d",&pro[i].quming)。

printf("参赛者1:

")。

scanf("%s",pro[i].ath1)。

printf("所属学校:

")。

scanf("%s",pro[i].univ1)。

printf("参赛者2:

")。

scanf("%s",pro[i].ath2)。

printf("所属学校:

")。

scanf("%s",pro[i].univ2)。

}

fp4=fopen("pr","w")。

for(i=0。

i

i++)

{

if(fwrite(&pro[i],sizeof(structprogram),1,fp4)!

=1)

printf("Filewriteerror!

\n")。

}

fclose(fp4)。

printf_back()。

}

voidsavescore()//保存学校得分情况子函数

{

printf("N-参赛学校总数,M-男子竞赛工程数,W-女子竞赛工程数。

\n")。

printf("W.100-女子一百M比赛,M.100-男子一百M,M.200-男子两百M。

\n")。

printf("\n各项名次得分权值如下:

\n")。

printf("取前三名:

第一名5分第二名3分第三名2分\n")。

printf("\n请输入各学校的得分情况:

")。

for(i=0。

i

i++)

{

printf("\n请输入第%d个学校的得分情况:

\n",i+1)。

printf("学校:

")。

scanf("%s",zf[i].univ)。

printf("参赛工程1:

")。

scanf("%s",zf[i].prog1)。

printf("得分:

")。

scanf("%d",&zf[i].score1)。

printf("参赛工程2:

")。

scanf("%s",zf[i].prog2)。

printf("得分:

")。

scanf("%d",&zf[i].score2)。

printf("参赛工程3:

")。

scanf("%s",zf[i].prog3)。

printf("得分:

")。

scanf("%d",&zf[i].score3)。

zf[i].total_score=zf[i].score1+zf[i].score2+zf[i].score3。

}

fp2=fopen("zfen","w")。

for(i=0。

i

i++)

{

if(fwrite(&zf[i],sizeof(structzongfen),1,fp2)!

=1)

printf("Filewriteerror!

\n")。

}

fclose(fp2)。

printf_back()。

}

voidSearch()

{

intn,w2。

do

{

puts("\t\t***^__^Welcometoloadsearchsystem!

^__^***\n")。

puts("\t\t*************************MENU*************************\n")。

puts("\t\t********1.searchttzf**************\n")。

//查看团体总分

puts("\t\t********2.searchcsxx**************\n")。

//查看参赛学校信息!

puts("\t\t********3.searchbsxm**************\n")。

//查看比赛工程信息!

puts("\t\t********4.Exit**************\n")。

//退出

puts("\t\t***************************************\n")。

printf("Choiceyournumber(1-4):

[]\b\b")。

scanf("%d",&n)。

if(n<1||n>4)

{

w2=1。

getchar()。

}

elsew2=0。

}

while(w2==1)。

switch(n)

{case1:

ttzf()。

break。

case2:

csxx()。

break。

case3:

bsxm()。

break。

case4:

exit(0)。

break。

default:

printf("未进行任何操作!

")。

}

}

voidttzf()//查看学校团体总分子函数

{

fp2=fopen("zfen","r")。

printf("\n各学校的团体总分情况如下:

\n\n")。

printf("学校参赛工程总分\n")。

for(i=0。

i

i++)

{

fread(&zf[i],sizeof(structzongfen),1,fp2)。

printf("%-8s%s,%s,%-12s%-12d\n",zf[i].univ,zf[i].prog1,zf[i].prog2,zf[i].prog3,zf[i].total_score)。

}

fclose(fp2)。

printf_back()。

}

voidcsxx()//查看参赛学校信息子函数

{

fp3=fopen("xxiao","r")。

printf("\n各参赛学校的情况如下:

\n\n")。

printf("学校参赛工程参赛者数\n")。

for(i=0。

i

i++)

{

fread(&xx[i],sizeof(structxuexiao),1,fp3)。

printf("%-8s%-20s%-12d\n",xx[i].univ,xx[i].prog,xx[i].num_athlete)。

}

fclose(fp3)。

printf_back()。

}

voidbsxm()//查看比赛工程子函数

{

fp4=fopen("pr","r")。

printf("\n各比赛工程的信息如下:

\n\n")。

printf("工程取分情况参赛者1所属学校参赛者2所属学校\n")。

for(i=0。

i

i++)

{

fread(&pro[i],sizeof(structprogram),1,fp4)。

printf("%-12s%-10d%-10s%-12s%-10s%-12s\n",pro[i].prog,pro[i].quming,pro[i].ath1,pro[i].univ1,pro[i].ath2,pro[i].univ2)。

}

fclose(fp4)。

printf_back()。

}

voidmain()

{

menu()。

}

voidmenu()

{

intn,w1。

do

{

puts("\t\t***^__^Welcometoloadsportssystem!

^__^***\n")。

puts("\t\t*************************MENU*************************\n")。

puts("\t\t********1.Entertheinformation**************\n")。

puts("\t\t********2.Score比赛结果录入**************\n")。

puts("\t\t********3.Search**************\n")。

puts("\t\t********4.Exit**************\n")。

puts("\t\t******************************************************\n")。

printf("Choiceyournumber(1-4):

[]\b\b")。

scanf("%d",&n)。

if(n<1||n>4)

{

w1=1。

getchar()。

}

elsew1=0。

}

while(w1==1)。

switch(n)

{case1:

Information()。

break。

//输入信息

case2:

savescore()。

break。

//比赛结果录入

case3:

Search()。

break。

//查询模块

case4:

exit(0)。

}

}

//公共函数

voidprintf_back()

{

intw。

printf("\n\n\tSUCCESSFUL!

\n\n")。

printf("Whatdoyouwanttodonext?

\n\n\t1).exit\t2).menu:

[]\b\b")。

scanf("%d",&w)。

if(w==1)

exit(0)。

elsemenu()。

}

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

当前位置:首页 > 解决方案 > 解决方案

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

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