满意答案
kcuapra
2018.08.14
采纳率:49% 等级:9
已帮助:465人
#include
#include
typedef struct account{
char name[32];
char acc[16];
char psw[16];
}Acc;
// data是结构体数组,filename是文件绝对地址,n保存读入的结构体数量
void GetDataFromTxt(Acc* data, const char* filename, int* n)
{
FILE *fp = fopen(filename, "r");
if( NULL == fp ){
printf("Open file failed or no this file!\n");
return;
}
int i = 0;
while( !feof(fp) )
{
fscanf(fp, "%s %s %s", data[i].name, data[i].acc, data[i].psw);
i++;
}
*n = i;
}
int main()
{
int i, n;
Acc data[100];
// 获取数据
GetDataFromTxt(data, "E:\\secret.txt", &n);
printf("n = %d\n", n);
printf("姓名 账号 密码\n");
for(i = 0; i
printf("%-4s %-16s %-10s\n", data[i].name, data[i].acc, data[i].psw);
// 登录示例
putchar('\n');
char acc[16], psw[16];
do{
// 这里只是粗略地写了一个
// 具体的账号错误或者密码错误自行发挥
printf("请输入账号:");
scanf("%s", acc);
printf("请输入密码:");
scanf("%s", psw);
for(i = 0; i
{
if( strcmp(acc,data[i].acc)==0 && strcmp(psw,data[i].psw)==0 ){
printf("登陆成功!\n");
break;
}
}
if( i == n ){
printf("账号或密码不正确!请重新输入!\n\n");
}else{
break;
}
}while(1);
printf("Bye bye!!!\n");
return 0;
}
00分享举报