运动会管理系统

 问题描述:

(1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;

(2) 各项目名次取法有如下几种:

取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1;         

(3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。

(4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。

C语言实现程序如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct stunode
{
	char sport[20];
	char sex[10];
	char name[10];
	char college[20];
	char grade[10]; 
	int rank;
	struct stunode *next;
}STU;  			/*定义链表结点的结构体类型struct stunode,取别名STU*/ 
STU head;		/*定义头结点head*/
char stu[20][20];		/*定义结构体数组stu[20][20],用于存放院系名*/ 
void maininterface();
void createList();
void printall();
void findperson();
void findcollege();
void freelist();
void findcollogescore();
void modify();
void allscore();
void getprize(); 
int getscore();
int N,M,W;		/*定义整型N,M,W,用于初始化存放参赛院系总数、男子竞赛项目数和女子竞赛项目数*/
int k=0;		/*用于创建链表时的计数(区分首次创建链表和再次创建链表)*/ 
int main(int argc, char *argv[])
 {
 	int i;
	int select;
	head.next=NULL;		/*将头结点的next至为NULL*/ 
	printf("\t\t\t------------------------\n");
	printf("\t\t\t*******系统初始化*******\n");
	printf("\t\t\t1.请输入参赛院系总数:");
	scanf("%d",&N);	
	printf("\t\t\t2.请输入男子竞赛项目数:");
	scanf("%d",&M);
	printf("\t\t\t3.请输入女子竞赛项目数:");
	scanf("%d",&W);
	printf("\t\t\t4.请输入参赛的院系名:");
	for(i=0;i<N;i++)
	{
		scanf("%s",&stu[i])	;
	}
	printf("\n\t\t\t-----------------------\n");
	printf("\t\t\t  运动会参赛学院有:");
	for(i=0;i<N;i++)
	{
		printf("%s ",stu[i])	;
	}
	printf("\n\t\t\t");
	system("pause");
	while(1)
	{
		maininterface();
		printf("\n*请选择需要的操作:");
		scanf("%d",&select);
		fflush(stdin);	/*清除键盘缓冲区*/ 
		switch(select)	/*根据用户选择,调用相应函数完成操作*/ 
		{
			case 1:createList();break;
			case 2:findperson();break;
			case 3:findcollege();break;
			case 4:findcollogescore();break;
			case 5:allscore();break;
			case 6:getprize();break;
			case 7:modify();break;
			case 8:printall();break;
			case 0:freelist();exit(0);
			default:printf("输入错误!\n");
		} 
		system("pause");
	}
	return 0;
}
/*函数功能:显示菜单*/ 
void maininterface()
{
	system("cls");	/*清屏*/ 
	printf("\t\t--------------------------\n");
	printf("\t\t******运动会管理系统******\n");
	printf("\t\t1.输入项目获奖信息\n"); 
	printf("\t\t2.查询个人的比赛成绩\n"); 
	printf("\t\t3.查询院系的比赛信息\n");
	printf("\t\t4.查询院系的比赛成绩\n");
	printf("\t\t5.生成团体总分报表\n");
	printf("\t\t6.查看各项目获奖运动员信息\n");
	printf("\t\t7.修改项目信息\n");
	printf("\t\t8.显示所有信息\n");
	printf("\t\t0.退出\n");
	printf("\t\t--------------------------\n");
	return;
}

功能函数如下:


                
  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
目 录 摘 要 2 第1章 需求分析 2 第2章 概要设计 2 2.1系统总体设计框架 2 2.2系统功能模块图 3 第3章 详细设计 6 第4章 主要源程序代码 7 第5章 调试分析过程描述 17 第6章 总结 19 参考文献 19 学生课程设计报告评分表 20 校际运动会管理系统 摘 要 本文介绍了利用C语言对校际运动会管理系统进行设计的过程,从系统总体框架,功 能分析,模块设计与分析,类的设计与分析,功能测试等环节通过Microsoft Visual C++ 6.0对校际运动会管理系统进行详细的设计,并介绍了校际运动会管理系统如何运用,本 次设计是基于C语言的程序设计,利用了C语言的强大功能,设计出的程序运行良好,可 以在校际运动会管理系统等方面进行良好的运用。 关键词:C语言,班级档案管理系统,Microsoft Visual C++ 6.0 一、需求分析 (1)信息初始化 输入:N 参赛学校总数,M 男子赛项目数, W 女子赛项目数; 各项目名次取法有以下几种: 取前5名:第一名得分 7,第二名得分5,第三名得分3,第四名得分2,第五名得分1; 取前3名:第一名得分5,第二名得分3,第三名得分2; 用户自定义:各名次权值由用户指定。 (2)提醒用户填写比赛结果,输入各项目获奖运动员信息。 (3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,察 看参赛学校信息和比赛项目信息等。 二、概要设计 分析整个系统,根据以上的需求分析及设计要求,可将整个系统的设计分为以下五个 模块:信息输入、录入比赛结果、查询信息、退出. 1. 系统总体设计框架 2. 系统功能模块图 各功能模块设计模块 信息输入模块 一是参赛学校信息,二是参赛运动员信息,三是比赛项目信息,分别输入并保存 void Information() { int n,w ; do { puts("\n\n\n"); puts("\t\t***^__^ Welcome to load 信息录入 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("Choic your number(1-4):[ ]\b\b"); 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 : saveschool(); break;//保存学校信息子函数 case 3 : saveprogram();break;//保存项目比赛信息子函数 case 4 : exit(0); } } 结果录入模块 (3)查询信息模块 [分析] 查询信息模块提供按不同方式查询各种信息机返回功能,其中各功能模块用菜单方式 选择。菜单部分也可写成函数。 3. 详细设计 1.主函数 主函数一般设计的较为简洁,只提供输入、功能处理和输出部分的函数调用。其中各 功能模块用菜单方式选择。另外菜单部分也可以写成函数。 2.流程图 [程序] void main() { menu(); } void menu() { int n,w1; do { puts("\t\t***^__^ Welcome to load sports system! ^__^***\n"); puts("\t\t************************MENU*************************\n"); puts("\t\t******** 1.Enter the information **************\n"); puts("\t\t******** 2.Score 比赛结果录入 **************\n"); puts("\t\t******** 3.Search **************\n"); puts("\t\t*******

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值