Witam, dla czego kiedy wybiorę opcje zaloguj się przy uruchomieniu programu i podaje dane, to pomimo, że podaje je takie same jak są w pliku logowanie.txt cały czas mi pokazuje, tak jakbym podawał je źle. Kiedy spróbowałem wypisać dane jakie program porównuje, okazało się, że w ogóle nie sczytuje ich z pliku (aby utworzyć plik txt wystarczy wybrać opcję 2 i podać login i hasło, a program zapisze je w 2 liniach pod sobą). Napisałem to dość zawile, więc jeśli wiesz jak mi pomóc, a czegoś nie rozumiesz napisz w komentarzu i postaram się rozjaśnić w czym jest problem.
#include <iostream>
#include <conio.h>
#include <fstream>
#include <cstdlib>
using namespace std;
char wybor;
int linia;
string podaj_login, podaj_haslo, ram, login_test, haslo_test;
fstream logowanie;
int main()
{
logowanie.open ( "logowanie.txt", ios::out | ios::app );
logowanie.close ();
for ( ; ; )
{
for ( int i = 1; i == 1; )
{
cout << "Co chcesz zrobic: " << endl;
cout << "1 - Zaloguj sie" << endl;
cout << "2 - Utworz konto / zastap poprzednie" << endl;
cout << "3 - Zakoncz program" << endl;
wybor = getch ();
switch (wybor)
{
case '1':
for ( int a = 1; a == 1; )
{
system ( "cls" );
cout << "Podaj login: " << endl;
cin >> podaj_login;
cout << "Podaj haslo:" << endl;
cin >> podaj_haslo;
logowanie.open ( "logowanie.txt", ios::in );
linia = 1;
while ( getline ( logowanie, ram ) )
{
switch ( linia )
{
case 1:
login_test = ram;
break;
case 2:
haslo_test = ram;
break;
linia ++;
}
}
logowanie.close ();
if ( login_test == podaj_login && haslo_test == podaj_haslo )
{
i = 2;
a = 2;
}
else
{
for ( int b = 1; b == 1; )
{
system ( "cls" );
cout << "Bledny login lub haslo!" << endl << endl;
cout << "Co chcesz zrobic: " << endl;
cout << "1 - Sprobuj ponownie" << endl;
cout << "2 - Powroc do menu glownego" << endl;
wybor = getch ();
switch ( wybor )
{
case '1':
b = 2;
break;
case '2':
a = 2;
b = 2;
system ( "cls" );
break;
default:
system ( "cls" );
break;
}
}
}
}
break;
case '2':
system ( "cls" );
cout << "Podaj nowy login: " << endl;
cin >> podaj_login;
cout << "Podaj nowe haslo:" << endl;
cin >> podaj_haslo;
logowanie.open ( "logowanie.txt", ios::out );
logowanie << podaj_login << endl << podaj_haslo;
logowanie.close ();
i = 2;
system ( "cls" );
break;
case '3':
exit ( 0 );
break;
default:
system ( "cls" );
break;
}
}
for ( int c = 1; c == 1; )
{
cout << "Co chcesz zrobic: " << endl;
cout << "1 - Wyloguj sie" << endl;
cout << "2 - Zmien haslo" << endl;
cout << "3 - Zakoncz program" << endl;
wybor = getch ();
switch ( wybor )
{
case '1':
c = 2;
system ( "cls" );
break;
case '2':
system ( "cls" );
cout << "Podaj nowe haslo:" << endl;
cin >> podaj_haslo;
linia = 1;
logowanie.open ( "logowanie.txt", ios::in );
while ( getline ( logowanie, ram ) )
{
switch ( linia )
{
case 1:
podaj_login = ram;
break;
linia ++;
}
}
logowanie.close ();
logowanie.open ( "logowanie.txt", ios::out );
logowanie << podaj_login << endl << podaj_haslo;
logowanie.close ();
system ( "cls" );
break;
case '3':
exit ( 0 );
break;
default:
system ( "cls" );
break;
}
}
}
return 0;
}