输入验证问题
#include<stdio.h>struct stu
{
char username[20];
char password[15];
char name[20];
char sex[5];
char pin[10];
}
main()
{
int i,fleg;
FILE*fp;
struct stu student[100];
struct stu studentTest;
fp=fopen("in.txt","r");
for(i=0;i<5;i++)
{
fscanf(fp,"%s%s%s%s%s",student[i].username,student[i].password,student[i].name,student[i].sex,student[i].pin);
}
fclose(fp);
fleg=1;
do{
printf("请输入用户名:");
scanf("%s",&studentTest.username);
printf("请输入密码:");
scanf("%s",&studentTest.password);
for(i=0;i<5;i++)
{
if(strcmp(student[i].username,studentTest.username)==0 && strcmp(student[i].password,studentTest.password)==0)
{
printf("登录成功!\n");fleg=0;break;
}
else
{
printf("您的用户名或密码不正确!\n"); fleg=1;break;
}
}
}while(fleg);
}
当我输入第一个时,显示是对的,如:
当我输入最后一个时,如:
我的文件内容为:
请问这是怎么回事?