运动员信息管理系统(数据结构版)

标题:运动员信息管理系统

主要功能有
按1 输入运动员信息
按2 输出运动员信息
按3 查询运动员信息
按4 修改运动员信息
按5 删除运动员信息
按6 插入运动员信息
按7 排序总成绩信息

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct athlete
{
    char name[20];
    char sex[10];
    int number;
    int tiaoyuan;
    int paobu;
    int tiaogao;
    int sum;
} ath[60];
int n;
void menu()
{
    printf("-------------------------------------\n");
    printf("||        运动员信息理系统         ||\n");
    printf("||       按1 输入运动员信息        ||\n");
    printf("||       按2 输出运动员信息        ||\n");
    printf("||       按3 查询运动员信息        ||\n");
    printf("||       按4 修改运动员信息        ||\n");
    printf("||       按5 删除运动员信息        ||\n");
    printf("||       按6 插入运动员信息        ||\n");
    printf("||       按7 排序运动员信息        ||\n");
    printf("||         按0 退出系统            ||\n");
    printf("-------------------------------------\n");
}
void input()  //输入运动员信息
{
    int i,j=1;
    printf("输入运动员的总量:");
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        printf("输入第%d个运动员的信息\n",j++);
        printf("输入姓名:");
        scanf("%s",ath[i].name);
        printf("输入性别:");
        scanf("%s",ath[i].sex);
        printf("输入编号:");
        scanf("%d",&ath[i].number);
        printf("输入跳远成绩:");
        scanf("%d",&ath[i].tiaoyuan);
        printf("输入跑步成绩:");
        scanf("%d",&ath[i].paobu);
        printf("输入跳高成绩:");
        scanf("%d",&ath[i].tiaogao);
        ath[i].sum=ath[i].tiaoyuan+ath[i].paobu+ath[i].tiaogao;
        printf("该运动员总成绩为:%d\n",ath[i].sum);
    }
}
void output() //运动员信息输出
{
    system("cls");
    int i;
    printf("--------运动员的信息是--------\n");
    if(n==0)
    {
        printf("********这里没有运动员信息********\n");
    }
    else
    {
        for(i=1; i<=n; i++)
        {
            printf("姓名:%s\n",ath[i].name);
            printf("性别:%s\n",ath[i].sex);
            printf("编号:%d\n",ath[i].number);
            printf("跳远成绩:%d\n",ath[i].tiaoyuan);
            printf("跑步成绩:%d\n",ath[i].paobu);
            printf("跳高成绩:%d\n",ath[i].tiaogao);
            ath[i].sum=ath[i].tiaoyuan+ath[i].paobu+ath[i].tiaogao;
            printf("该运动员总成绩为:%d\n",ath[i].sum);
        }
    }
}
void search() //查找运动员信息
{
    system("cls");
    int num,i,t; //num表示编号
    char a[20];
    if(n!=0)
    {
        printf("输入您要查找的方式(1.编号 2.姓名)\n");
        scanf("%d",&t);
        if(t==1)
        {
            printf("输入你要查找的编号:");
            scanf("%d",&num);
            for(i=1; i<=n; i++)
            {
                if(ath[i].number=num)
                {
                    printf("姓名: %s\n",ath[i].name);
                    printf("性别: %s\n",ath[i].sex);
                    printf("编号: %d\n",ath[i].number);
                    printf("跳远成绩: %d\n",ath[i].tiaoyuan);
                    printf("跑步成绩: %d\n",ath[i].paobu);
                    printf("跳高成绩: %d\n",ath[i].tiaogao);
                    ath[i].sum=ath[i].tiaoyuan+ath[i].paobu+ath[i].tiaogao;
                    printf("该运动员的总成绩: %d\n",ath[i].sum);
                    break;
                }
            }
            if(i>n)
            {
                printf("您查找的信息不存在或者编号输入错误\n");
            }
        }
        if(t==2)
        {
            printf("输入您要查找的运动员的姓名\n");
            scanf("%s",a);
            for(i=1; i<=n; i++)
            {
                if(strcmp(ath[i].name,a)==0)
                {
                    printf("姓名: %s\n",ath[i].name);
                    printf("性别: %s\n",ath[i].sex);
                    printf("编号: %d\n",ath[i].number);
                    printf("跳远成绩: %d\n",ath[i].tiaoyuan);
                    printf("跑步成绩: %d\n",ath[i].paobu);
                    printf("跳高成绩: %d\n",ath[i].tiaogao);
                    ath[i].sum=ath[i].tiaoyuan+ath[i].paobu+ath[i].tiaogao;
                    printf("该运动员的总成绩: %d\n",ath[i].sum);
                    break;
                }
            }
            if(i>n)
            {
                printf("您查找的信息不存在或者编号输入错误\n");
            }
        }
    }
    else
    {
        printf("对不起,这里没有这个运动员的信息\n");
    }
}
void change() //修改运动员信息
{
    system("cls");
    int num,i;
    printf("输入您要修改的运动员的编号:");
    scanf("%d",&num);
    if(n==0)
        printf("++++++这里没有信息++++++\n");
    else
    {
        for(i=1; i<=n; i++)
        {
            if(ath[i].number==num)
            {
                printf("您要修改的运动员信息为\n");
                printf("姓名: %s\n",ath[i].name);
                printf("性别: %s\n",ath[i].sex);
                printf("编号: %d\n",ath[i].number);
                printf("跳远成绩: %d\n",ath[i].tiaoyuan);
                printf("跑步成绩: %d\n",ath[i].paobu);
                printf("跳高成绩: %d\n",ath[i].tiaogao);
                ath[i].sum=ath[i].tiaoyuan+ath[i].paobu+ath[i].tiaogao;
                printf("该运动员的总成绩: %d\n",ath[i].sum);
                printf("\n");
                break;
            }
        }
        if(i>n)
        {
            printf("您查找的信息不存在或者编号输入错误\n");
        }
        else
        {
            printf("输入姓名: ");
            scanf("%s",ath[i].name);
            //getchar();
            printf("输入性别: ");
            scanf("%s",ath[i].sex);
            printf("输入编号: ");
            scanf("%d",&ath[i].number);
            printf("输入跳远成绩: ");
            scanf("%d",&ath[i].tiaoyuan);
            printf("输入跑步成绩: ");
            scanf("%d",&ath[i].paobu);
            printf("输入跳高成绩: ");
            scanf("%d",&ath[i].tiaogao);
        }
    }
}
void del()//删除运动员信息
{
    system("cls");
    int i,j,e,num;
    if(n!=0)
    {
        printf("*****这是所有运动员的信息*****\n");
        for(i=1; i<=n; i++)
        {
            printf("---------------------------\n");
            printf("姓名: %s\n",ath[i].name);
            printf("性别: %s\n",ath[i].sex);
            printf("编号: %d\n",ath[i].number);
            printf("跳远成绩: %d\n",ath[i].tiaoyuan);
            printf("跑步成绩: %d\n",ath[i].paobu);
            printf("跳高成绩: %d\n",ath[i].tiaogao);
            ath[i].sum=ath[i].tiaoyuan+ath[i].paobu+ath[i].tiaogao;
            printf("该运动员的总成绩: %d\n",ath[i].sum);
            printf("---------------------------\n");
        }
        printf("请输入您要删除的运动员的编号: ");
        scanf("%d",&num);
        for(i=1; i<=n; i++)
        {
            if(ath[i].number==num)
            {
                j=i;
                for(e=i-1; e<n; e++,j++)
                {
                    //字符串本质是数组,数组不能直接赋值
                    strcpy(ath[j].name,ath[j+1].name); //是将ath[j+1].name拷贝到ath[j].name里面
                    strcpy(ath[j].sex,ath[j+1].sex);
                    ath[j].number=ath[j+1].number;
                    ath[j].tiaoyuan=ath[j+1].tiaoyuan;
                    ath[j].paobu=ath[j+1].paobu;
                    ath[j].tiaogao=ath[j+1].tiaogao;
                }
                n--; //总数-1
                printf("**********该运动员信息已删除**********\n");
            }
        }
    }
    else
    {
        printf("对不起,这里没有运动员信息\n");
    }

}
void add()//插入运动员信息
{
    system("cls");
    int i,j,t;
    if(n!=0)
    {
        printf("*******************************************\n");
        printf("    注: 下面已有信息,如有重复请不要插入   \n");
        printf("*******************************************\n");
        printf("\n");
        for(i=1; i<=n; i++)
        {
            printf("姓名: %s\n",ath[i].name);
            printf("性别: %s\n",ath[i].sex);
            printf("编号: %d\n",ath[i].number);
            printf("跳远成绩: %d\n",ath[i].tiaoyuan);
            printf("跑步成绩: %d\n",ath[i].paobu);
            printf("跳高成绩: %d\n",ath[i].tiaogao);
            ath[i].sum=ath[i].tiaoyuan+ath[i].paobu+ath[i].tiaogao;
            printf("该运动员的总成绩: %d\n",ath[i].sum);
            printf("\n");
        }
        printf("是否继续插入(是:y   否:n)\n");
        printf("%c您的选择是:",t=getchar());
        t=getchar();   //获得输入字符

        if(t=='y')
        {
            j=n;
            printf("**********请插入运动员相关信息**********\n");
            printf("输入姓名: ");
            scanf("%s",ath[j+1].name);
            //getchar();
            printf("输入性别: ");
            scanf("%s",ath[j+1].sex);
            printf("输入编号: ");
            scanf("%d",&ath[j+1].number);
            printf("输入跳远成绩: ");
            scanf("%d",&ath[j+1].tiaoyuan);
            printf("输入跑步成绩: ");
            scanf("%d",&ath[j+1].paobu);
            printf("输入跳高成绩: ");
            scanf("%d",&ath[j+1].tiaogao);

            n++;  //总数加1
        }
        else
        {
            printf("\n   (▔▽▔)插入程序结束,请重新选择");
            printf("\n");
        }
    }
    else
    {
        //n==0时
        i=1;
        printf("请输入要插入运动员的相关信息\n");
        printf("输入姓名: ");
        scanf("%s",ath[i].name);
        printf("输入性别: ");
        scanf("%s",ath[i].sex);
        printf("输入编号: ");
        scanf("%d",&ath[i].number);
        printf("输入跳远成绩: ");
        scanf("%d",&ath[i].tiaoyuan);
        printf("输入跑步成绩: ");
        scanf("%d",&ath[i].paobu);
        printf("输入跳高成绩: ");
        scanf("%d",&ath[i].tiaogao);
        n++;
    }
}
void paixu() //排序运动员信息
{
    system("cls");
    int i,j,t;
    char aa[30];
    if(n!=0)
    {
        printf("该排序是按照从高到低进行排序\n");
        for(i=1; i<=n; i++)
        {
            for(j=1; j<n; j++)
            {
                /*if(ath[j].sum<ath[j+1].sum)
                {
                    //姓名排序
                    strcpy(aa,ath[j].name);
                    strcpy(ath[j].name,ath[j+1].name);
                    strcpy(ath[j+1].name,aa);
                    //性别排序
                    strcpy(aa,ath[j].sex);
                    strcpy(ath[j].sex,ath[j+1].sex);
                    strcpy(ath[j+1].sex,aa);
                    //编号排序
                    t=ath[j].number;
                    ath[j].number=ath[j+1].number;
                    ath[j+1].number=t;
                    //跳远成绩排序
                    t=ath[j].tiaoyuan;
                    ath[j].tiaoyuan=ath[j+1].tiaoyuan;
                    ath[j+1].tiaoyuan=t;
                    //跑步成绩排序
                    t=ath[j].paobu;
                    ath[j].paobu=ath[j+1].paobu;
                    ath[j+1].paobu=t;
                    //跳高成绩排序
                    t=ath[j].tiaogao;
                    ath[j].tiaogao=ath[j+1].tiaogao;
                    ath[j+1].tiaogao=t;
                    //总成绩排序
                    t=ath[j].sum;
                    ath[j].sum=ath[j+1].sum;
                    ath[j+1].sum=t;
                }*/
                if(ath[j].sum<ath[j+1].sum)
                {
                    q=ath[j];
                    ath[j]=ath[j+1];
                    ath[j+1]=q;
                }  
            }
        }
        for(i=1; i<=n; i++)
        {
            printf("姓名: %s\n",ath[i].name);
            printf("性别: %s\n",ath[i].sex);
            printf("编号: %d\n",ath[i].number);
            printf("跳远成绩: %d\n",ath[i].tiaoyuan);
            printf("跑步成绩: %d\n",ath[i].paobu);
            printf("跳高成绩: %d\n",ath[i].tiaogao);
            printf("总成绩: %d\n",ath[i].sum);
        }
    }
    else
    {
        printf("++++++这里没有信息++++++\n");
    }
}


int main()
{

    printf("\t\t\t----------------------------------\n");
    printf("\t\t\t                                  \n");
    printf("\t\t\t             欢迎来到             \n");
    printf("\t\t\t        运动员信息管理系统        \n");
    printf("\t\t\t                                  \n");
    printf("\t\t\t---------------------------------\n");
    system("pause");  //按任意键结束
    system("cls");
    int a,b=1;
    while(b)
    {
        menu();
        printf("您选择的是: ");
        scanf("%d",&a);
        printf("\n");
        switch(a)
        {
        case 1:
            input();
            break;//输入
        case 2:
            output();
            break;//输出
        case 3:
            search();
            break;//查找
        case 4:
            change();
            break;//修改
        case 5:
            del();
            break;//删除
        case 6:
            add();
            break;//插入
        case 7:
            paixu();
            break;//排序
        case 0:
            b=0;
            break;//退出
        }
    }
    printf("    运动员信息管理系统已退出( ^_^ )\n");
    return 0;
}
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在所学知识的基础上和有限的时间范围内设计开发出一套校级运动会管理系统,用于辅助运动会举办人员和裁判员对运动会的各方面信息进行管理和维护。系统将利用计算机在数据处理和数据整理保存方面的优异性能,帮助工作人员提高工作效率、减少出错情况,同时还能提供运动员信息的录入功能、快速的查询以及按要求进行对运动员信息的统计管理功能。该系统尽量达到人力与设备费用的节省,提高系统处理数据速度,系统的整个开发和设计过程必须通过合理规划项目、细化需求、提高开发效率的等方式节省开发成本,并同时保证系统质量。 本运动会管理系统系统提供了强大的高校运动会系统管理功能,方便管理员对运动员成绩等信息的添加、修改、删除、查询、汇总、统计等操作,更适合大型数据库的管理。采用了本运动会管理系统后,运动员在比赛前由院系管理老师统一输入个人信息即可,方便了运动员的报名,有错误时可以及时汇报修改。裁判员单独对各自的项目进行管理,保证上了比赛的公正、公平。每个项目都有单独的账号和密码对应,以保证成绩录入人员对自己管辖范围的唯一性。成绩查询界面中可以准确及时的查询到各项目、各运动员的个人信息、比赛成绩、排名、和团体加分的情况。以上运动会中各环节组织和编排工作的系统实现,能使大量繁琐的人工编排任务通过简单方便的操作便实现,大大减轻运动会组织人员的劳动强度,提高工作效率并保证数据的实时性、准确性、安全性、可靠性

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值