Witam. Przyznam, że trochę wstydzę się tego tematu ponieważ udało mi się napisać funkcje które dodają do plików dane, sortują je alfabetycznie, wyświetlają listę oraz usuwają użytkowników w moim wypadku kontrahentów z niej. Pisze to ze względu na to że mam strasznie błahy problem powiązany z początkową fazą nauki. Siedzę nad tym drugi wieczór i niestety nie jestem w stanie go rozwiązać dlatego postanowiłem poprosić o pomoc oto kod:
void menu()
{
int opcja;
while(opcja != 0)
{
//system( "cls" );
cout << "==========Menu==========" << endl;
cout << "1) Kontrahenci" << endl;
cout << "0) Zakoncz program" << endl;
cout << "Wybierz opcje z menu: ";
cin >> opcja;
if(opcja == 1)
{
int kopcja;
while(kopcja != 0)
{
cin.ignore();
//system( "cls" );
//lista_klientow();
cout << "Opjce: " << endl;
cout << "1) Dodaj nowego klienta, ";
cout << "2) Usun klienta, ";
cout << "3) Modyfikuj dane klienta, ";
cout << "0) Wroc" << endl;
cout << "Wybierz opcje z menu: ";
cin >> kopcja;
if(kopcja == 1)
{
//nowy_klinet();
}
else if(kopcja == 2)
{
//usun_klienta();
}
else if(kopcja == 3)
{
cout << "Modyfikowanie " << endl;
}
else if(kopcja == 0)
{
cout << "Wracamy do menu" << endl;
}
else
{
cout << "Zla opcja wyboru. Sprobuj jeszcze raz" << endl;
}
}
}
else if(opcja == 0)
{
cout << "Koniec programu...";
}
else
{
cout << "Nie ma takiej opcji... Sprobuj ponownie...";
}
}
}
Problem polega na tym, że po wybraniu opcji 1 przechodzi do kolejnego menu. Następnie po wciśnięciu 0 przechodzi z powrotem do pierwszego ale wybierając ponownie opcję 1 coś jakby się zblokowało i nie mogę dojść co ponieważ nie przechodzi ponownie do drugiego menu tylko tak jakby się zapętliło. Próbowałem z cin.ignore() ale niestety nie pomogło. Prosiłbym o jakąś poradę. A! I obym nie zapomniał. Menu zostało specjalnie zrobione na if else nie na switchu.