Witam, od pewnego czasu pracuję nad czymś na wzór magazynu. Tydzień temu zmieniłem laptopa, i w programie który wcześniej działał zaczęły pojawiać się problemy. Chodzi o poniższy fragment kodu:
bool main_interface()
{
cout << "WAREHOUSE \n --------" << endl;
cout << "1. Stan magazynu" << endl;
cout << "2. Dostawa" << endl;
cout << "3. Usuniecie" << endl;
cout << "4. Sprzedaz" << endl;
cout << "5. Konfiguracja" << endl;
cout << "6. Wyjscie" << endl;
cout << "Wybierz numer: ";
char choice;
choice = _getch();
switch (choice)
{
case '1':
{
system("cls");
cout << "dobrze1" << endl;
return true; break;
}
case '2':
{
system("cls");
cout << "dobrze2" << endl;
return true; break;
}
case '3':
{
system("cls");
cout << "dobrze3" << endl;
return true; break;
}
case '6':
{
system("cls");
cout << "koniec" << endl;
return false; break;
}
}
}
int main()
{
bool flaga=true;
while (flaga)
{
flaga = main_interface();
}
return 0;
}
Problem polega m.in. na tym że pętla nie wykonuje sie tak jak w zamyśle - do wprowadzenia 6-tki.
Co prawda po wprowadzeniu 6 program wyświetla "koniec" i oczekuje na wprowadzenie jakiegokolwiek znaku, ale problem mam z pozostałymi przypadkami (tj. 1, 2 lub 3)
Output po wprowadzeniu 1, 2 lub 3:
Nie jestem nawet pewien, czy takiej konstrukcji jak flaga = main_interface() mogę nawet użyć. Próbowałem szukać, ale chyba z czegoś nie zdaję sobie sprawy i nie umiem znaleźć mojego błędu, proszę o wskazówke!