标题:运动员信息管理系统
主要功能有
按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;
}