为什么输入性别是女,但是它不报错啊

img

性别后面还有输入,你这个应该没有设置循环的严格条件,请把源码粘上来谢谢

#include<stdio.h>
#include <stdlib.h>
#include<string.h>
//定义一个选手信息的结构体
struct playerinformation{
long number;
char name[10];
int age;
char gender[10];
char project[20];
float achievement;

};
struct playerinformation s[100];
int atotal=0;//用于统计数量
//定义一个比赛项目信息的结构体
struct event{
char itname[20];
char time[20];
char site[10];
char player[30];

};
struct event t[30];
int btotal=0;//用于统计数量
//模块函数声明
void addstudent();
void findstudent();
void additem();
void finditem();
void delect();
void modify();
void exit1();
void single();
//main主函数
void main()
{

int m;
while(1)
{       printf("******************************************************************\n");
        printf("*           ★ C语言课程设计*运动会信息管理系统★                *\n"); 
        printf("*                   需要添加学生信息请输入1                      *\n");  
        printf("*                   查询全部学生信息请输入2                      *\n");  
        printf("*                   添加比赛项目信息请输入3                      *\n");  
        printf("*                   查询比赛项目信息请输入4                      *\n");
        printf("*                   删除参赛学生信息请输入5                      *\n");
        printf("*                   修改参赛学生信息请输入6                      *\n");
        printf("*                   如果退出退出程序请输入7                      *\n");
        printf("*                   查询单个学生信息请输入8                      *\n");
        printf("******************************************************************\n");
    scanf("%d",&m);
    switch (m)
        {
        case 1: addstudent();
            break;
        case 2: findstudent();
            break;
        case 3: additem();
            break;
        case 4:    finditem();
            break;
        case 5: delect();
            break;
        case 6: modify();
            break;
        case 7: exit1();
            break;
        case 8: single();
            break;
        }
    
    }//while
}

//录入选手信息
void addstudent()
{
long number;
char name[10];
int age;
float achievement ;
char gender[10];
char project[20] ;
printf("请输入编号:\n");
scanf("%d",&number);
printf("请输入姓名:\n");
scanf("%s",name);
printf("请输入成绩:\n");
scanf("%f",&achievement);
printf("请输入年龄:\n");
scanf("%d",&age);
printf("请输入性别:\n");
scanf("%s",gender);
printf("请输入比赛项目:\n");
scanf("%s",project);
strcpy(s[atotal].name,name);
strcpy(s[atotal].project,project);
s[atotal].age=age;
strcpy(s[atotal].gender,gender);
s[atotal].achievement=achievement;
s[atotal].number=number;
atotal++;
printf("录入完成\n");

}
//录入比赛项目等信息
void additem()
{
char itname[20];
char time[20];
char site[10];
char player[30];
printf("请输入项目名称:\n");
scanf("%s",itname);
printf("请输入时间:\n");
scanf(" %s",time);
printf("请输入地点:\n");
scanf("%s",site);
printf("请输入选手:\n");
scanf("%s",player);
strcpy(t[btotal].itname,itname);
strcpy(t[btotal].time,time);
strcpy(t[btotal].site,site);
strcpy(t[btotal].player,player);
btotal++;
printf("录入完成\n");

}
//单人查询
void single(){
long y,i;
printf("请输入选手编号:");
scanf("%ld",&y);
for(i=0;i<=atotal;i++){
if(s[i].number==y)
printf("number:%ld,name:%s,achievement:%f,age:%d,gender:%s,project:%s",s[i].number,s[i].name,s[i].achievement,s[i].age,s[i].gender,s[i].project);
}

}
//查询全部选手信息
void findstudent(){
int i;
for(i=0;i<atotal;i++)
{
printf("编号:%ld\n",s[i].number);
printf("姓名:%s\n",s[i].name);
printf("年龄:%d\n",s[i].age);
printf("成绩:%f\n",s[i].achievement);
printf("性别:%s\n",s[i].gender);
printf("比赛项目:%s\n",s[i].project);
}
}

//查询所有比赛项目的信息
void finditem(){
int i;
for(i=0;i<btotal;i++)
{
printf("项目名称:%s\n",t[i].itname);
printf("时间:%s\n",t[i].time);
printf("地点:%s\n",t[i].site);
printf("参赛选手:%s\n",t[i].player);
}
}
//删除比赛选手信息
void delect()
{
long y;
int i;
printf("输入学生的编号\n");
scanf("%ld",&y);
for(i=0;i<atotal;i++)
{
if(s[i].number==y)
{

            s[i].number=s[i+1].number;
            s[i].age=s[i+1].age;
            s[i].achievement=s[i+1].achievement;
            strcpy(s[i].project,s[i+1].project);
            strcpy(s[i].name,s[i+1].name);
            strcpy(s[i].gender,s[i+1].gender);
        atotal=atotal-1;
        printf("删除完成\n");
        break;
    }
    else
        printf("删除未完成\n");
    printf("完成重新选择\n");
}

}

//完善修改选手信息
void modify(){
int u;
long y,number;
char name[10];
int age;
char gender[10];
char project[20];
float achievement;

printf("请输入选手编号:");
scanf("%ld",&y);
for(u=0;u<atotal;u++)
{
    if(s[u].number==y)
   {printf("请输入编号:");
    scanf("%ld",&number);
    s[u].number=number;
    printf("请输入姓名:");
    scanf("%s",name);
    strcpy(s[u].name,name);
    printf("请输入年龄:");
    scanf("%d",&age);
    s[u].age=age;
    printf("请输入性别:");
    scanf("%s",gender);
    strcpy(s[u].gender,gender);
    printf("请输入成绩:\n");
    scanf("%f",&achievement);
    s[u].achievement=achievement;
    printf("请输入比赛项目:\n");
    scanf("%s",project);
    strcpy(s[u].project,project);

      printf("修改成功!");

}
}

}

void exit1()
{
printf("操作完毕,请再次选择");

}