Po pierwsze... ROM? "read-only-memory"? Z tego co widzę, to zwykły plik.
- Zmienne globalne mimo, że jest tylko jedna funkcja
- w C++ unikaj exit()
- unikaj goto
- linia 73: za dużo w jednej linii
- lekko zepsute wcięcia
- na linii 83 iterujesz po wszystkich loginach, nawet, jeśli znajdziesz login na samym początku
A z konkretnych przykładów, można na przykład:
while (getline(plik,linia)) //pozyskiwanie zmiennych z linijek tekstu
{
switch(nr_linii)
{
case 1: uzytkownicy[nr_konta].login=linia; break;
case 2: uzytkownicy[nr_konta].haslo=linia; nr_konta++; break;
}
nr_linii++;
if (nr_linii==3) nr_linii=1;
}
Zamienić na znacznie mniej skomplikowany:
while (true)
{
if (!getline(plik,login))
break;
if (!getline(plik,haslo))
break;
uzytkownicy[nr_konta].login = login;
uzytkownicy[nr_konta].haslo = haslo;
nr_konta++;
}