Witam,
kolejny, pewnie równie błahy problem jak ostatnio, który mnie przerósł.
Funkcja w założeniu ma pobrać nick, jaki user będzie chciał mieć, sprawdzić w pliku 'pass' czy nick nie jest używany, jeżeli nie jest to zapisać nowego usera. Jeżeli jest taki nick to zapytać, czy chce wprowadzić inny.
Pierwsza część działa dobrze, zepsuło sie, gdy dodałem pętle while (powt==1). Gdy wprowadzimy nick który już jest, to od razu sie wywala - przyjmuje wyb!='t' nawet jak wpiszemy 't'..
kod mojej funkcji:
int rejestruj (){
char nick[8];
char haslo[8];
int powt=1;
char wyb;
int i;
while (powt==1){
FILE * hPlik = fopen( "pass", "a+" );
system("cls");
printf ("Podaj login jaki chcesz miec. Max 8 znakow. \n");
scanf ("%s", &nick1);
//***************** sprawdzanie dostepnosci nicku****************************//
while (!feof(hPlik)) {
fscanf(hPlik, "%s %s", &nick, &haslo);
if (strcmp(nick1,nick)==0) {
printf ("\nNick juz zajety \n");
printf ("Jezeli chcesz sprobowac ponownie, nacisnij t\n");
scanf ("%c", &wyb);
//printf("%c\n",wyb);
if (wyb!='t')
return(2);
}
else if (strcmp(nick1,nick)!=0) powt=0;
}
fclose( hPlik );
}
FILE * hPlik = fopen( "pass", "a+" );
printf ("\nPodaj haslo. Max 8 znakow. \n");
scanf ("%s", &haslo1);
//******** TO DO ** dorobic szyfrowanie **************** TO DO ************/
fprintf (hPlik, "%s %s 0 0\n", nick1,haslo1);
fclose( hPlik );
return(1);
}
pozdrawiam