计算机程序设计课程设计c语言题目:运动会管理系统学院:专业:班级:学号:指导教师:设计日期:2013/6/26一.概述这个程序是运动会管理系统,是为了更好地管理学生运动会而设计的。
二、设计概要本例实现一个综合的校际运动会数据管理系统,用户可以在已建立的数据记录函数中输入数据信息、在已建立的输出函数中查看数据信息。
输入、输出和查看的操作都是通过对函数中for循环的操作完成的。
主体部分:首先在程序开始处,开通语句#include“conio.h”,#include<stdlib.h>,#include<stdio.h>引入头文件,这样就能直接调用库函数.再定义团体n,男子m,女子w.然后定义结构体变量result,match,sclist,school等。
并且编写对数据的输入、输出和查看操作的函数;最后在main函数的部实现对各子函数的调用,实现数据的综合管理。
任务概述:1.用for循环, if—else---if---else ,do---while用来控制程序的循环。
2.用函数完成数据的输入输出查看。
3.在主函数中调用函数来实现输入输出查看等功能。
三、设计流程main() 主函数Score() 得分分配函数Input() 输入函数整理函数index()团体成绩计算函数teamsco()输出学校成绩列表 output()输出团体报表函数teamput()四、程序调试#include <conio.h> #include<stdlib.h> #include<stdio.h> int n,m,w;struct result{int scnum;char name[20];int position;int score;};struct match{int matnum;int num;struct result list[5]; };struct sclist{int matnum;int position;char name[20];int score;};struct school{int scnum;struct sclist list[50];int team;int mteam;int fteam;int num;};struct match ma[50];struct school sc[20];score(a,b)int a,b;{if(b==3){ma[a-1].list[0].score=5;ma[a-1].list[1].score=3;ma[a-1].list[2].score=2;}if(b==5){ma[a-1].list[0].score=7;ma[a-1].list[1].score=5;ma[a-1].list[2].score=3;ma[a-1].list[3].score=2;ma[a-1].list[4].score=1;}return;}input(a)int a;{int i;do{printf("\n the %d item:take the former positions (3/5)?",a);scanf("%d",&ma[a-1].num);if((ma[a-1].num!=3)&&(ma[a-1].num!=5))printf("\n!error:please input the number 3or 5!\n");} while((ma[a-1].num!=3)&&(ma[a-1].num!=5));score(a,ma[a-1].num);for(i=0;i<ma[a-1].num;i++){ma[a-1].list[i].position=i+1;printf("\n the %d position:scnum:",i+1);scanf("%d",&ma[a-1].list[i].scnum);printf("name:");scanf("%s",&ma[a-1].list[i].name);printf("the score:%d",ma[a-1].list[i].score);}return;}index(){int i,j,k,t;for(i=0;i<n;i++){sc[i].scnum=i+1;sc[i].num=0;}for(i=0;i<m+w;i++)for(j=0;j<ma[i].num;j++)for(k=0;k<n;k++)if(ma[i].list[j].scnum==sc[k].scnum){sc[k].list[sc[k].num].matnum=ma[i].matnum;sc[k].list[sc[k].num].position=ma[i].list[j].position;for(t=0;t<20;t++){sc[k].list[sc[k].num].name[t]=ma[i].list[j].name[t];} sc[k].list[sc[k].num].score=ma[i].list[j].score;sc[k].num++;}return;}teamsco(){int i,j;for(i=0;i<n;i++){sc[i].team=0;sc[i].mteam=0;sc[i].fteam=0;}for(i=0;i<n;i++)for(j=0;j<sc[i].num;j++){sc[i].team=sc[i].team+sc[i].list[j].score;}for(i=0;i<m;i++)for(j=0;j<sc[i].num;j++){sc[i].mteam=sc[i].mteam+sc[i].list[j].score;}for(i=m+1;i<n;i++)for(j=0;j<sc[i].num;j++){sc[i].fteam=sc[i].fteam+sc[i].list[j].score;}return;}output(a)int a;{int i;printf("\n the grades form scnum:%d\n",a);printf(" matnum pozition name mark\n");for(i=0;i<sc[a-1].num;i++)printf("%6d%10d%10s%15d\n",sc[a-1].list[i].matnum,sc[a-1].list[i].position,sc[a-1].list[i].nam e,sc[a-1].list[i].score);return;}teamput(){int i;printf("\n the grades of the team form \n");printf("scnum team mteam fteam\n");for(i=0;i<n;i++)printf("%4d%7d%11d%13d\n",sc[i].scnum,sc[i].team,sc[i].mteam,sc[i].fteam);return;}main(){ int i,c;printf("*******************************************************\n");printf(" welcome \n");printf("*******************************************************\n");printf("please input the number of the schools:");scanf("%d",&n);printf("\n how many man sports:");scanf("%d",&m);printf("\n how many women sports:");scanf("%d",&w);printf("\n this competition have %d school join,get %d matches,%d man's sport,%d women's sports.\n",n,m+w,m,w);c=1;while(c!=0){printf("\n please input the finished competition(0=COTINUE):");scanf("%d",&c);if((c>0)&&(c<=m+w))input();elseif(c==0) break;elseprintf("\n!error:the number must among1-%d!\n",m+w);}index();teamsco();teamput();c=1;while(c!=0){printf("\n\n please input the scnum(0=EXIT):");scanf("%d",&c);if(c==0) break;else if((c>=0)&&(c<=m+w))output();else printf("\n!error: the number must among -%d之间的整数!\n",m+w);}printf("\n THE END!\n");return;};五,心得总结1.程序运行时出现乱码,用英文替换即可。
六、附程序清单成功运行。