为什么运行结果不对呢?求大神帮忙找找错误
为什么运行结果不对呢?求大神帮忙找找错误#include <stdio.h>
//存放学生数据的全局结构体
struct student{
int number; //编号
char name[10]; //名字
int chinese_score; //中文分数
int math_score; //数学分数
int english_score; //英语分数
}evey_student[20]; //全局结构体数组
void charu(int *x); //插入函数
void xiugai(int b); //修改函数
void shanchu(int *x);//删除函数
void xianshi(int *x);
void main()
{
int a,b=0;
do //显示一个简易菜单
{ printf("\n");
printf("1--插入\n");
printf("2--修改\n");
printf("3--删除\n");
printf("4--退出\n");
printf("5--显示\n");
scanf("%d",&a);
switch(a)
{
case 1:charu(&b);break; //调用插入函数
case 2:xiugai(b);break; //调用修改函数
case 3:shanchu(&b);break; //调用删除函数
case 4:xianshi(&b);break;
case 5: return;break; //直接退出
}
} while (a>0);
}
//插入函数
void charu(int *x)
{
int a,c;
printf("请输入序号");
scanf("%d",&a);
for(c=0;c<20;c++)
{
if (a==evey_student[c].number)
{
printf("序号已存在!");
return;
}
printf("请输入姓名");
scanf("%s",&evey_student[*x].name);
printf("请输入语文成绩");
scanf("%d",&evey_student[*x].chinese_score);
printf("请输入数学成绩");
scanf("%d",&evey_student[*x].math_score);
printf("请输入英语成绩");
scanf("%d",&evey_student[*x].english_score);
(*x)++;
return;
}
}
//修改函数
void xiugai(int x)
{
int a,b,c=0;
printf("请输入要修改数据的编号:");
scanf("%d",&a);
for (b=0;b<x&&c;b++)
{
if (a==evey_student[b].number)
{
scanf("%s",&evey_student[b].name);
printf("请输入语文成绩");
scanf("%d",&evey_student[b].chinese_score);
printf("请输入数学成绩");
scanf("%d",&evey_student[b].math_score);
printf("请输入英语成绩");
scanf("%d",&evey_student[b].english_score);
c=0;
}
else
printf("没有查询到要修改的数据!");
}
} void shanchu(int * x)
{
int a,b,c=1,d;
printf("请输入要删除数据的编号");
scanf("%d",&a);
for (b=0;b<*x&&c;b++)
if (a==evey_student[b].number)
{
for (d=b;d<*x-1;d++)
{
evey_student[d]=evey_student[d+1];
}
c=0;
(*x)--;
}
else
printf("没有查询到!");
}
void xianshi(int *x)
{
int a,b;
printf("请输入要显示的编号:");
scanf("%d",&a);
for (b=0;b<*x;b++)
if (a==evey_student[b].number)
{
printf("名字为:%s 语文:%d 数学: %d 英语:%d",evey_student[b].name,evey_student[b].chinese_score,evey_student[b].math_score,evey_student[b].english_score);
return;
}
else
printf("没有查询到!");
}