Ahoj,
mám dojem, že mě tady za chvilku budete nesnášet kvůli mým opakujícím se blbým dotazům. Vypracovávám úkol do školy, kde máme načítat vsupní informace z txt souboru. To samotné mi nečiní žádný problém, akorát mně přijde, že načítám zbytečně moc proměnných.
Takhle vypadá můj txt soubor se vstupními daty (ucet.txt):
101111 Honzik Novotny 12568.5632456 8 3 15400 2831.44
102345 Karel Pepik 103597.1402145 12 1 120000 16402.86
109865 Jindriska Dvorakova 5236.7054687 3 1 76000 70763.30
a takhle vypadá funkce součástí třídy Ucet, která s daty pracuje (ucet.cpp):
void Ucet::setCisloUctu(int cisloUctu)
{
if (cisloUctu > 100001 && cisloUctu < 109999)
{
fstream test_id;
string jmeno, prijmeni;
int cislo_uctu, pocet_vkladu, pocet_vyberu;
double balance, soucet_vkladu, soucet_vyberu;
test_id.open("ucty.txt");
while (test_id.good())
{
test_id >> cislo_uctu >> jmeno >> prijmeni >> balance >> pocet_vkladu >> pocet_vyberu >> soucet_vkladu >> soucet_vyberu;
while (cisloUctu == cislo_uctu)
{
cout << "\nVámi zadané číslo účtu již existuje." << endl;
cout << "Zadejte prosím jiné ID: ";
cin >> cisloUctu;
}
}
this->cisloUctu = cisloUctu;
test_id.close();
}
else
{
while (cisloUctu < 100001 || cisloUctu > 109999)
{
cout << "\nVámi zadané číslo účtu je špatné." << endl <<
"Číslo účtu může být pouze mezi 100001 až 109999." << endl <<
"Nové číslo účtu: ";
cin >> cisloUctu;
}
fstream test_id;
string jmeno, prijmeni;
int cislo_uctu, pocet_vkladu, pocet_vyberu;
double balance, soucet_vkladu, soucet_vyberu;
test_id.open("ucty.txt");
while (test_id.good())
{
test_id >> cislo_uctu >> jmeno >> prijmeni >> balance >> pocet_vkladu >> pocet_vyberu >> soucet_vkladu >> soucet_vyberu;
while (cisloUctu == cislo_uctu)
{
cout << "\nVámi zadané číslo účtu již existuje." << endl;
cout << "Zadejte prosím jiné ID: ";
cin >> cisloUctu;
}
}
this->cisloUctu = cisloUctu;
test_id.close();
}
}
V rámci dané funkce potřebuji pouze otestovat, zda uživatel při tvorbě nového účtu nezadává ID, které již v systému (resp. txt souboru) existuje, pokud ano, systém ho vyzve, aby zadal ID jiné.
Můžete si však všimnout, že zbytečně načítám i další proměnné, které se v txt nacházejí (jmeno, prijmeni atd.).
Nevím, co konkrétně bych měl v googlu hledat, jak svůj problém pojmenovat, takže jsem nic nenašel, proto se obracím sem.
Poradili byste mi, jak funkci upravit, abych načetl pouze ID a zbytek (tedy konec řádku v txt) přeskočil?
Děkuju moc,
Ondra