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

下载本文档

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

文档简介

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

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

3、数图主函数流程图 Y程序void main()menu(); void menu()int n,w1;do puts("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 *n");

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

5、信息输入模块一是参赛学校信息,二是参赛运动员信息,三是比赛项目信息,分别输入并保存信息输入读入、显示参赛学校读入、显示运动员读入比赛项目图信息输入模块流程图void Information() 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"); pu

6、ts("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) case 1 : saveathlete(); break;/ 保存运动员信息子函数 case 2 : savesc

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

8、图:() 主菜单函数() 信息录入模块() 查询子菜单() 按学校名字查询信息(5) 按项目查询项目信息() 查询团体总分程序代码:#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<string.h>#define SIZE 9#define N 3#define WM 3void bsxm();void csxx();void Information();int main();void menu();void printf_back();void saveathlete()

9、;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;struct program/定义项目信息char prog5;int q

10、uming; 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*_ 欢迎进入信息录入系统 _*n"); puts("tt*菜单*n"

11、;); 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); switch(n) case 1 : savea

12、thlete(); break;/ 保存运动员信息子函数 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("姓名:"); scanf("%s&q

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

14、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+)fread(&ati,sizeof(struct athlete),1,fp1); pr

15、intf("%-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("学校:");scanf("%s",xxi.univ);printf(&qu

16、ot;参赛的项目:");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");fclose(fp3); printf_back();void sa

17、veprogram()/保存项目比赛信息子函数printf("n请输入关于比赛项目的信息:");for(i=0;i<WM;i+)printf("n请输入第%d项比赛的信息:n",i+1);printf("项目:");scanf("%s",g);printf("取分情况:");scanf("%d",&proi.quming);printf("参赛者1:");scanf("%s",proi.ath1);prin

18、tf("所属学校:");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(fwrite(&proi,sizeof(struct program),1,fp4)!=1)printf("Fil

19、e 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");printf("取前三名:第一名5分 第二名3分 第三名2分n");printf("n请输入各学校的得分情况:")

20、; for(i=0;i<N;i+)printf("n请输入第%d个学校的得分情况:n",i+1);printf("学校:");scanf("%s",zfi.univ);printf("参赛项目1:");scanf("%s",g1);printf("得分:");scanf("%d",&zfi.score1);printf("参赛项目2:");scanf("%s",g2);pri

21、ntf("得分:");scanf("%d",&zfi.score2);printf("参赛项目3:");scanf("%s",g3);printf("得分:");scanf("%d",&zfi.score3);zfi.total_score=zfi.score1+zfi.score2+zfi.score3; fp2=fopen("zfen","w");for(i=0;i<N;i+)if(fwrite(

22、&zfi,sizeof(struct zongfen),1,fp2)!=1)printf("File write error!n");fclose(fp2); printf_back();void Search()int n,w2;do puts("tt*_ 欢迎进入搜索系统! _*n"); puts("tt*菜单*n"); puts("tt* 1.查看团体总分 *n");/查看团体总分 puts("tt* 2.查看参赛学校信息 *n");/查看参赛学校信息! puts("tt

23、* 3.查看比赛项目信息 *n");/查看比赛项目信息! puts("tt* 4.退出 *n");/退出 puts("tt*n"); printf("请选择(1-4): bb"); scanf("%d",&n); if (n<1|n>4) w2=1; getchar(); else w2=0; while (w2=1); switch(n) case 1:ttzf();break; case 2: csxx();break; case 3:bsxm();break; case 4: e

24、xit(0);break; default: printf("未进行任何操作!"); void ttzf()/查看学校团体总分子函数fp2=fopen("总分","r"); printf("n各学校的团体总分情况如下:nn"); printf("学校 参赛项目 总分n");for(i=0;i<N;i+)fread(&zfi,sizeof(struct zongfen),1,fp2); printf("%-8s%s,%s,%-12s%-12dn",zfi.univ

25、,g1,g2,g3,zfi.total_score);fclose(fp2);printf_back();void csxx()/查看参赛学校信息子函数 fp3=fopen("xxiao","r"); printf("n各参赛学校的情况如下:nn"); printf("学校 参赛项目 参赛者数n");for(i=0;i<N;i+)fread(&xxi,sizeof(struct xuexiao),1,fp3); 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=0;i<N;i+)fread

温馨提示

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

评论

0/150

提交评论