Tình hình là đang có bài viết game caro. Nhưng còn nhìu vướng mắc mà ko ai giải đáp cho. Ai có thể thì giúp e với.
em có cái truct:
struct tructtaikhoan
{
char taikhoan[31];
char matkhau[31];
int score;
};

Với lại hàm lấy 1 dòng từ tập tin:
char* fgetline(FILE* fp, char* str,int maxSize)
{
int ch,len;
if(feof(fp))
return NULL;
str[0]=0;len=0;
do
{
ch = fgetc(fp);
if(ch=='\n' || ch==EOF)
break;
if(len<maxSize-1)
{
str[len]=ch;
len++;
}
}
while(1);
str[len]=0;
return str;
}

Còn đây là hàm đăng nhập:
Khi gõ tên đăng nhập và mật khẩu vào thì nó sẽ xét trong tập tin taikhoan.txt Nếu đúng thì vào game còn không thì cho đăng nhập lại. Nhưng em làm thì nó chỉ xét được tài khoản đầu tiên trong tập tin
Tập tin của em gồm 3 dòng:
-Tài khoản
-Mật khẩu
-Điểm số
void DangNhap()
{
system("cls");
getch;
char tendangnhap[31];
gotoxy(30,5);
printf("Ten Dang Nhap:");
fflush(stdin);
gets(tendangnhap);
char matkhau[31];
gotoxy(33,6);
printf("Mat Khau:");
int i=0;
do
{
matkhau[i]=getch();
if(matkhau[i]=='\b')
{
if(i>0)
{
printf("\b \b");
i--;
}
}
else
{
printf("*");
i++;
}
}
while(matkhau[i-1] != 13 && matkhau[i-1] != 27);
matkhau[i-1]=0;
printf("\b \b");
int n,n1,n2;
FILE* taikhoan=fopen("taikhoan.txt","rt");
tructtaikhoan tk[100];
if(taikhoan!=NULL)
{
for(n=0;n<100;n++)
{
fgetline(taikhoan,tk[n].taikhoan,31);
fgetline(taikhoan,tk[n].matkhau,31);
fscanf(taikhoan,"%d\n",&tk[n].score);
n1= stricmp(tendangnhap,tk[n].taikhoan);
n2= stricmp(matkhau,tk[n].matkhau);
if(n1==0 && n2==0)
{
system("cls");
vebanco();
}
else
DangNhap();
}
}
fclose(taikhoan);
}