数据结构课程设计:运动会分数统计

运动会分数统计

1.问题描述

参加运动会的n个学校编号为1~n。比赛分成m个男子项目和w个女子项目,项目编号分别为1~m和m+1~m+w。由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。写一个统计程序产生各种成绩单和得分报表。

2.设计要求

(1)可以输入各个项目的前三名或前五名的成绩;

(2)能统计各学校总分;

(3)可以按学校编号或名称、学校总分、男女团体总分排序输出;

(4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校;

(5)数据存入文件并能随时查询;

(6)输入:输入学校的名称,运动项目的名称。

(7)输出:要求有中文提示,各学校分数为整型。

(8)界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

  1. 测试数据

要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据进行程序测试,以保证程序的稳定。

例如,对于n=4,m=3,w =2,编号为奇数的项目取前五名,编号为偶数的项目取前三名,设计一组实例数据。

分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tiAh127y-1591407091819)(…/images/aa.jpg)]

完整代码

#include<stdio.h>
#include<math.h>
#include <process.h>
#define N 20          /*学校最大数目*/ 
#define M 20          /*男子项目最大数目*/ 
#define W 20          /*女子项目最大数目*/
typedef struct
{ 
	int inum;       /*项目编号*/
    int top;           /*取名次的数目*/
    int range[5];      /*名次*/
    int mark[5];       /*分数*/
}itemnode;             /*存放项目信息*/
typedef struct   
{
	int snum;     /*学校编号*/
    int score;         /*学校总分*/
    int mscore;        /*男团体总分*/
    int wscore;        /*女团体总分*/
    itemnode t[M+W]; /*项目数组*/
}snode;             /*存放学校信息*/
snode a[N];        /* 定义一个学校数组*/
void  menu(int n,int m,int w)   /*菜单函数*/        
{ 
	int c;
    void input(int n,int m,int w);
	void output(int n,int m,int w);
	void sortput(int n,int m,int w);
	void search(int n,int m,int w);
	printf("\t\t\t欢迎使用\t\t\t\t\n\n");   
	printf("\t***********运动会分数统计系统***********\n\n");
    printf("\t\t*******1.信息输入*******\n");
    printf("\t\t*******2.统计输出*******\n");
    printf("\t\t*******3.排序输出*******\n");
    printf("\t\t*******4.信息查询*******\n");
    printf("\t\t*******0.退出系统*******\n\n");
    printf("=======================================================\n\n");
	printf("请选择要实现步骤的编号(0--4):");
    scanf("%d&#
  • 19
    点赞
  • 130
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值