C语言课设之校级运动会管理系统_第1页
C语言课设之校级运动会管理系统_第2页
C语言课设之校级运动会管理系统_第3页
已阅读5页,还剩13页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.C 程序设计实习报告校际运动会管理系统一、题目要求(1)信息初始化输入: N 参赛学校总数,M 男子竞赛项目数,W 女子竞赛项目数;各项目名次取法有如下几种:错误 !未找到引用源。取前 5 名:第一名得分7 ,第二名得分5 ,第三名得分3 ,第四名得分 2,第五名得分 1; 取前 3 名:第一名得分 5 ,第二名得分 3,第三名得分 2 ; 用户自定义:各名次权值由用户指定。( 2 )提醒用户填写比赛结果,输入各项目获奖运动员信息。( 3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,察看参赛学校信息和比赛项目信息等。二 . 总体设计分析整个系统,根据以上的需求分析及

2、题目要求,可将整个系统的设计分为以下五个模块:信息输入、录入比赛结果、查询信息、退出.1 总的模块图Saveathele () 保存运动员信InformationSaveschool ()保存学校信息Saveprogram ()保存项目信息Savescore() 比赛结果录入MainTtzf ()查询团体总分.Search ( )Csxx () 查询参赛学校信息Bsxm () 查询团体总分Exi t(0)图 1 整体模块图三、详细设计主函数主函数一般设计的较为简洁,只提供输入、功能处理和输出部分的函数调用。其中各功能模块用菜单方式选择。另外菜单部分也可以写成函数。流程图显示一系列功能选项输入,

3、判断是否是4Y根据的值调用各功能模块函数图主函数流程图程序void main()Word 专业资料.menu();void menu()int n,w1;doputs("tt*_Welcome to load sports system!_*n");puts("tt*MENU*n");puts("tt*1.Enter the information*n");puts("tt*2.Score比赛结果录入*n");puts("tt*3.Search*n");puts("tt*4.Exit*

4、n");puts("tt*n");printf("Choice your number(1-4): bb");scanf("%d",&n);if (n<1|n>4)w1=1;getchar();else w1=0;Word 专业资料.while (w1=1);switch(n)case 1:Information();break; /输入信息case 2:savescore();break;/ 比赛结果录入case 3:Search();break;/ 查询模块case 4:exit(0);2. 各功能模

5、块设计(1)信息输入模块一是参赛学校信息,二是参赛运动员信息,三是比赛项目信息,分别输入并保存信息输入读入、显示参赛学校读入、显示运动员读入比赛项目图信息输入模块流程图void Information()Word 专业资料.int n,w ;do puts("nnn");puts("tt*_Welcome to load信息录入system!_*n");puts("tt*MENU*n");puts("tt*1.saveathlete*n");puts("tt*2.saveschool*n");p

6、uts("tt*3.saveprogram()*n");puts("tt*4.back*n");puts("tt*n");printf("Choic your number(1-4): bb");scanf("%d",&n);if (n<1|n>4)w=1;getchar();else w=0;while (w=1);switch(n)Word 专业资料.case 1 : saveathlete(); break;/ 保存运动员信息子函数case 2 : saveschool

7、(); break;/ 保存学校信息子函数case 3 : saveprogram();break;/ 保存项目比赛信息子函数case 4 : exit(0);(2) 结果录入模块录入运动员比赛得分分析计算各学校总分图 4比赛结果录入模块流程图(3) 查询信息模块分析查询信息模块提供按不同方式查询各种信息机返回功能,其中各功能模块用菜单方式选择。菜单部分也可写成函数。查询信息模块查询学校查询运动员查询项目返回主菜单图 6查询信息模块流程图Word 专业资料.定义结构体指针UNI*next输入学校名字判断输入名字与结构体中学校名是否相同调用输出函数指针变量值向下一组数据图 8 查询学校名流程图结

8、果各模块界面图如图:()主菜单函数Word 专业资料.()信息录入模块()查询子菜单()按学校名字查询信息Word 专业资料.(5) 按项目查询项目信息()查询团体总分Word 专业资料.程序代码:#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<string.h>#define SIZE 9#define N3#define WM3void bsxm();void csxx();void Information();int main();void menu();void p

9、rintf_back();void saveathlete();void saveprogram();void saveschool();void savescore();void Search();void ttzf();int i;FILE *fp1,*fp2,*fp3,*fp4;struct athlete/ 定义运动员信息char univ5;char name8;char prog15;char mingci5;int score;atSIZE;struct xuexiao/ 定义学校信息char univ5;char prog15;int num_athlete;xxN;struc

10、t program/ 定义项目信息Word 专业资料.char prog5;int quming;char ath15;char ath25;char univ15;char univ25;proWM;struct zongfen/ 定义学校得分信息char univ5;char prog15;char prog25;char prog35;int score1;int score2;int score3;int total_score;zfN;void Information()int n,w ;do puts("nnn");puts("tt*_欢迎进入信息录入

11、系统_*n");puts("tt*菜单 *n");puts("tt*1.运动员*n");puts("tt*2.学校*n");puts("tt*3.项目信息*n");puts("tt*4.返回*n");puts("tt*n");printf(" 请选择 (1-4): bb");scanf("%d",&n);if (n<1|n>4)w=1;getchar();else w=0;while (w=1);switc

12、h(n)case 1 : saveathlete(); break;/保存运动员信息子函数Word 专业资料.case 2 : saveschool(); break;/保存学校信息子函数case 3 : saveprogram();break;/保存项目比赛信息子函数case 4 : exit(0);void saveathlete()/ 保存运动员信息子函数printf("n请输入各项目获奖运动员的信息:");for(i=0;i<SIZE;i+)printf("n请输入第 %d 个运动员的信息:n",i+1);printf(" 姓名:

13、 ");scanf("%s",);printf(" 学校: ");scanf("%s",ati.univ);printf(" 参赛项目: ");scanf("%s",g);printf(" 名次: ");scanf("%s",ati.mingci);printf(" 得分: ");scanf("%d",&ati.score);fp1=fopen("ath&qu

14、ot;,"w");for(i=0;i<SIZE;i+)if(fwrite(&ati,sizeof(struct athlete),1,fp1)!=1)printf("File write error!n");fclose(fp1);fp1=fopen("运动员 ","r");printf("n现在各运动员的信息如下:nn");printf(" 姓名学校项目名次得分 n");for(i=0;i<SIZE;i+)Word 专业资料.fread(&ati

15、,sizeof(struct athlete),1,fp1);printf("%-10s%-10s%-18s%-10s%dn",,ati.univ,g,ati.mingci,ati.score);fclose(fp1);printf_back();void saveschool()/ 保存学校信息子函数printf("n请输入各参赛学校的信息:");for(i=0;i<N;i+)printf("n请输入第 %d 个学校的信息:n",i+1);printf(" 学校: ");sca

16、nf("%s",xxi.univ);printf(" 参赛的项目:");scanf("%s",g);printf(" 参赛者数: ");scanf("%d",&xxi.num_athlete);fp3=fopen("学校 ","w");for(i=0;i<N;i+)if(fwrite(&xxi,sizeof(struct xuexiao),1,fp3)!=1)printf("File write error!n

17、");fclose(fp3);printf_back();void saveprogram()/ 保存项目比赛信息子函数printf("n请输入关于比赛项目的信息:");for(i=0;i<WM;i+)printf("n请输入第 %d 项比赛的信息:n",i+1);printf(" 项目: ");scanf("%s",g);Word 专业资料.printf(" 取分情况: ");scanf("%d",&proi.quming);prin

18、tf(" 参赛者 1:");scanf("%s",proi.ath1);printf(" 所属学校: ");scanf("%s",proi.univ1);printf(" 参赛者 2 : ");scanf("%s",proi.ath2);printf(" 所属学校: ");scanf("%s",proi.univ2);fp4=fopen("pr","w");for(i=0;i<N;i+)if

19、(fwrite(&proi,sizeof(struct program),1,fp4)!=1)printf("File write error!n");fclose(fp4);printf_back();void savescore()/ 保存学校得分情况子函数printf("N- 参赛学校总数,M- 男子竞赛项目数,W- 女子竞赛项目数。n");printf("W.100-女子一百米比赛,M.100- 男子一百米, M.200- 男子两百米。n");printf("n各项名次得分权值如下:n");prin

20、tf(" 取前三名:第一名5 分第二名 3 分第三名 2 分 n");printf("n请输入各学校的得分情况:");for(i=0;i<N;i+)printf("n请输入第 %d 个学校的得分情况:n",i+1);printf(" 学校: ");scanf("%s",zfi.univ);printf(" 参赛项目1: ");Word 专业资料.scanf("%s",g1);printf(" 得分: ");scanf

21、("%d",&zfi.score1);printf(" 参赛项目2 : ");scanf("%s",g2);printf(" 得分: ");scanf("%d",&zfi.score2);printf(" 参赛项目3 : ");scanf("%s",g3);printf(" 得分: ");scanf("%d",&zfi.score3);zfi.total_score

22、=zfi.score1+zfi.score2+zfi.score3;fp2=fopen("zfen","w");for(i=0;i<N;i+)if(fwrite(&zfi,sizeof(struct zongfen),1,fp2)!=1)printf("File write error!n");fclose(fp2);printf_back();void Search()int n,w2;doputs("tt*_欢迎进入搜索系统 !_*n");puts("tt*菜单 *n");pu

23、ts("tt*1.查看团体总分*n");/查看团体总分puts("tt*2.查看参赛学校信息*n");/查看参赛学校信息 !puts("tt*3.查看比赛项目信息*n");/查看比赛项目信息 !puts("tt*4.退出*n");/退出puts("tt*n");Word 专业资料.printf(" 请选择 (1-4): bb");scanf("%d",&n);if (n<1|n>4)w2=1;getchar();else w2=0;wh

24、ile (w2=1);switch(n) case 1: ttzf();break; case 2: csxx();break; case 3: bsxm();break; case 4: exit(0);break;default: printf(" 未进行任何操作! ");void ttzf()/ 查看学校团体总分子函数fp2=fopen("总分 ","r");printf("n各学校的团体总分情况如下:nn");printf(" 学校参赛项目总分 n");for(i=0;i<N;i+

25、)fread(&zfi,sizeof(struct zongfen),1,fp2);printf("%-8s%s,%s,%-12s%-12dn",zfi.univ,g1,g2,g3,zfi.total_score);fclose(fp2);printf_back();void csxx()/ 查看参赛学校信息子函数fp3=fopen("xxiao","r");printf("n各参赛学校的情况如下:nn");printf(" 学校参赛项目参赛者数 n&qu

26、ot;);for(i=0;i<N;i+)fread(&xxi,sizeof(struct xuexiao),1,fp3);Word 专业资料.printf("%-8s%-20s%-12dn",xxi.univ,g,xxi.num_athlete);fclose(fp3);printf_back();void bsxm()/ 查看比赛项目子函数fp4=fopen("pr","r");printf("n各比赛项目的信息如下:nn");printf(" 项目取分情况参赛者 1所属学校参赛者 2所属学校 n");for(i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论