Moi drodzy!
Mam problem z odczytem plików a mianowicie nie wiem jak zrobić pentlę przy switch(u)
Narazie mam taki kod:
#include <iostream>
#include <fstream>
using namespace std;
int wybor; // DO MENU
int identyfikator[2];
string nick[2];
string login[2];
string haslo[2];
string klawiatura_login, klawiatura_haslo, klawiatura_nick;
void rejestracja()
{
cout << "Zarejestruj sie"<<endl;
//WPROWADŹ DANE
cout << "Wprowadz nazwe uzytkownika: ";
cin >> nick[1];
cout << "Wprowadz login: ";
cin >> login[1];
cout << "Wprowadz haslo: ";
cin >> haslo[1];
fstream plik;
plik.open("dane.txt",ios::out | ios::app);
plik << nick [1]<< endl;
plik << login [1]<< endl;
plik << haslo [1]<< endl;
plik << identyfikator [1]<< endl;
plik.close();
}
void logowanie()
{
cout << "Zaloguj sie" << endl;
//WPROWADŹ DANE
cout << "Nazwa uzytkownika: ";
cin >> klawiatura_nick;
cout << "Login: ";
cin >> klawiatura_login;
cout << "Haslo: ";
cin >> klawiatura_haslo;
//POBIERANIE WŁAŚCIWYCH
string linia;
int nr_linii=1;
fstream plik;
plik.open("dane.txt", ios::in);
if(plik.good()==false) cout<<"Nie mozna otworzyc pliku!";
while (getline(plik, linia))
{
switch (nr_linii)
{
case 1: nick[0]=linia; break;
case 2: login[0]=linia; break;
case 3: haslo[0]=linia; break;
case 4: identyfikator[0]=atoi(linia.c_str());break;
case 5: nick[1]=linia; break;
case 6: login[1]=linia; break;
case 7: haslo[1]=linia; break;
case 8: identyfikator[1]=atoi(linia.c_str());break;
}
nr_linii++;
}
plik.close();
//SPRAWDZANIE
for(int i=0; i<2; i++)
{
if(klawiatura_haslo == haslo[i]&&klawiatura_login == login[i]&&klawiatura_nick == nick[i])
{
cout << "Zalogowano pomyslnie";
cout << identyfikator[0]<<identyfikator[1];
}
}
}
int main()
{
cout << "Menu" << endl;
cout << "-----------------" << endl;
cout << "1.Zaloguj sie\n2.Zarejestruj sie\n" << endl;
cout << "Wybor: ";cin >> wybor;
if(wybor == 1)
{
logowanie();
}
else if(wybor == 2)
{
rejestracja();
}
return 0;
}