循环哪点出问题了?一直重复让输入第一个学生学号。
#include<stdio.h>
int n=0;
struct student{
char num[20]; //学号
char name[20]; //姓名
char class[20]; //班级
int scores[3]; //该生在三门课程中所获得的积分
int levels[3]; //三门课程的等级,与scores一一对应
};
struct student stu[100];
int main()
{
void add_information();
add_information();
return 0;
}
void add_information()//新增信息
{
int judge,m=0,j,i;//judge判断输入信息是否重复,n是已经存在的学生数量
printf("请输入待添加学生信息人数:\n");
scanf("%d",&m);
if(m>0)
{
for(i=n;i<m+n;i++)
{
printf("请输入第%d位学生学号:\n",i+1);
scanf("%s",&stu[i].num);
for(judge=1;judge=1;)
{
judge=0;
printf("请输入第%d位学生学号:\n",i+1);
scanf("%s",&stu[i].num);
for(j=0;j<i;j++)
{
if(stu[i].num==stu[j].num)
{
printf("该学生已存在!请重新输入");
judge=1;
break;
}
else
judge=0;
}//判断输入是否重复
}
printf("请输入姓名:");
scanf(" %c",&stu[i].name);
printf("请输入班级:");
scanf(" %c",&stu[i].class);
stu[i].scores[3]=stu[i].levels[3]=0;
printf("新增学生信息成功!");
}
}
else
printf("输入错误,请重新输入!");
}