C语言课程程序设计校际运动会管理系统文档格式.docx
《C语言课程程序设计校际运动会管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课程程序设计校际运动会管理系统文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
do{
puts("
\n\n\n"
);
\t\t***^__^Welcometoload信息录入system!
^__^***\n"
\t\t*************************MENU*************************\n"
\t\t********1.saveathlete**********\n"
\t\t********2.saveschool**********\n"
\t\t********3.saveprogram()**********\n"
\t\t********4.back**********\n"
\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();
//保存学校信息子函数
case3:
saveprogram();
break;
//保存项目比赛信息子函数
case4:
exit(0);
(2)结果录入模块
(3)查询信息模块
[分析]
查询信息模块提供按不同方式查询各种信息机返回功能,其中各功能模块用菜单方式选择。
菜单部分也可写成函数。
三、详细设计
1.主函数
主函数一般设计的较为简洁,只提供输入、功能处理和输出部分的函数调用。
其中各功能模块用菜单方式选择。
另外菜单部分也可以写成函数。
2.流程图
[程序]
voidmain()
menu();
voidmenu()
intn,w1;
do
puts("
\t\t***^__^Welcometoloadsportssystem!
\t\t************************MENU*************************\n"
\t\t********1.Entertheinformation**************\n"
\t\t********2.Score比赛结果录入**************\n"
\t\t********3.Search**************\n"
\t\t********4.Exit**************\n"
\t\t******************************************************\n"
Choiceyournumber(1-4):
w1=1;
getchar();
elsew1=0;
while(w1==1);
{case1:
Information();
//输入信息
case2:
savescore();
//比赛结果录入
case3:
Search();
//查询模块
case4:
exit(0);
四、主要源程序代码:
//杨雪.cpp:
Definestheentrypointfortheconsoleapplication.
//
#include<
stdio.h>
conio.h>
stdlib.h>
string.h>
#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//定义学校信息
intnum_athlete;
}xx[N];
structprogram//定义项目信息
charprog[5];
intquming;
charath1[5];
charath2[5];
charuniv1[5];
charuniv2[5];
}pro[WM];
structzongfen//定义学校得分信息
charprog1[5];
charprog2[5];
charprog3[5];
intscore1;
intscore2;
intscore3;
inttotal_score;
}zf[N];
voidsaveathlete()//保存运动员信息子函数
\n请输入各项目获奖运动员的信息:
"
for(i=0;
i<
SIZE;
i++)
\n请输入第%d个运动员的信息:
\n"
i+1);
printf("
姓名:
%s"
at[i].name);
学校:
at[i].univ);
参赛项目:
at[i].prog);
名次:
scanf("
at[i].mingci);
得分:
at[i].score);
fp1=fopen("
ath"
"
w"
if(fwrite(&
at[i],sizeof(structathlete),1,fp1)!
=1)
printf("
Filewriteerror!
fclose(fp1);
r"
\n现在各运动员的信息如下:
\n\n"
姓名学校项目名次得分\n"
fread(&
at[i],sizeof(structathlete),1,fp1);
%-10s%-10s%-18s%-10s%d\n"
at[i].name,at[i].univ,at[i].prog,at[i].mingci,at[i].score);
printf_back();
voidsaveschool()//保存学校信息子函数
\n请输入各参赛学校的信息:
N;
\n请输入第%d个学校的信息:
xx[i].univ);
参赛的项目:
xx[i].prog);
参赛者数:
xx[i].num_athlete);
fp3=fopen("
xxiao"
xx[i],sizeof(structxuexiao),1,fp3)!
fclose(fp3);
voidsaveprogram()//保存项目比赛信息子函数
\n请输入关于比赛项目的信息:
WM;
\n请输入第%d项比赛的信息:
项目:
pro[i].prog);
取分情况:
pro[i].quming);
参赛者1:
pro[i].ath1);
所属学校:
pro[i].univ1);
参赛者2:
pro[i].ath2);
pro[i].univ2);
fp4=fopen("
pr"
pro[i],sizeof(structprogram),1,fp4)!
fclose(fp4);
voidsavescore()//保存学校得分情况子函数
N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数。
W.100-女子一百米比赛,M.100-男子一百米,M.200-男子两百米。
\n各项名次得分权值如下:
取前三名:
第一名5分第二名3分第三名2分\n"
\n请输入各学校的得分情况:
\n请输入第%d个学校的得分情况:
zf[i].univ);
参赛项目1:
zf[i].prog1);
zf[i].score1);
参赛项目2:
zf[i].prog2);
zf[i].score2);
参赛项目3:
zf[i].prog3);
zf[i].score3);
zf[i].total_score=zf[i].score1+zf[i].score2+zf[i].score3;
fp2=fopen("
zfen"
zf[i],sizeof(structzongfen),1,fp2)!
fclose(fp2);
voidSearch()
intn,w2;
\t\t***^__^Welcometoloadsearchsystem!
\t\t********1.searchttzf**************\n"
//查看团体总分
\t\t********2.searchcsxx**************\n"
//查看参赛学校信息!
\t\t********3.searchbsxm**************\n"
//查看比赛项目信息!
//退出
w2=1;
elsew2=0;
while(w2==1);
{case1:
ttzf();
csxx();
bsxm();
default:
未进行任何操作!
}
voidttzf()//查看学校团体总分子函数
\n各学校的团体总分情况如下:
学校参赛项目总分\n"
zf[i],sizeof(structzongfen),1,fp2);
%-8s%s,%s,%-12s%-12d\n"
zf[i].univ,zf[i].prog1,zf[i].prog2,zf[i].prog3,zf[i].total_score);
voidcsxx()//查看参赛学校信息子函数
\n各参赛学校的情况如下:
学校参赛项目参赛者数\n"
xx[i],sizeof(structxuexiao),1,fp3);
%-8s%-20s%-12d\n"
xx[i].univ,xx[i].prog,xx[i].num_athlete);
voidbsxm()//查看比赛项目子函数
\n各比赛项目的信息如下:
项目取分情况参赛者1所属学校参赛者2所属学校\n"
pro[i],sizeof(structprogram),1,fp4);
%-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);
//公共函数
voidprintf_back()
intw;
\n\n\tSUCCESSFUL!
Whatdoyouwanttodonext?
\n\n\t1).exit\t2).menu:
w);
if(w==1)
elsemenu();
1.结果
各模块界面图如图:
五、调试分析过程描述
(1)主菜单函数
(2)信息录入模块
(3)查询子菜单
(4)按学校名字查询信息
(5)按项目查询项目信息
(5)查询团体总分
六、总结
C语言课程设计在基本知识上由老师引导,自己很多都靠自学,不明白的问老师,但由此自学能力得到了很大的培养。
在设计过程中,我感觉到一点,程序是不能一气呵成的,至少一气呵成的程序不会尽善尽美:
程序编写要一步一步的完成。
首先,对于要编的程序要有一个总体思路,要明确想要什么,只要把思路理清楚了,程序就好编写了,把程序分割成几个块,即多个函数,一块一块的编写;
然后将分散的函数用另外的函数连接起来或者用main函数连接,到这一步