Uszanowanie,
prowizoryczny program do wpłacania/wypłacania/sprawdzania stanu $. Mam pytanie odnośnie powracania do początku programu. Wyczytałem, że można to robić za pomocą pętli do-while, kombinuje cały czas, nie do końca mi wychodzi ale jeszcze próbuję. Gdzieś wyskoczyła opcja "goto", ale zaraz pod nią 1501239 komentarzy, żeby o tym zapomnieć to zapomniałem. W przypadku case 4 program ma za zadanie wylogować użytkownika i powrócić do początku. Czy można to zrobić za pomocą "return main()", czy jest to praktykowane? W tym przypadku jest to najprostsze rozwiązanie jakie udało mi się znaleźć.
#include <iostream>
#include <string>
#include <windows.h>
#include <stdlib.h>
#include <conio.h>
using namespace std;
string PIN;
char wybor;
float wplata, stan=5000, wyplata;
int main()
{
cout << "Podaj PIN: ";
cin >> PIN;
system ("cls");
cout << "LOADING..." <<endl;
Sleep (1000);
while(PIN != "0000")
{
cout<<"\a";
cout << "Bledny PIN"<<endl;
Sleep (1000);
system("cls");
cout << "Podaj PIN: ";
cin >> PIN;
cout << "LOADING..." <<endl;
Sleep (1000);
system("cls");
}
system ("cls");
if (PIN=="0000")
{
for(;;)
{
cout << "=============="<<endl;
cout << "Dostepne opcje"<<endl;
cout << "=============="<<endl;
cout << "1. Wplata gotowki"<<endl;
cout << "2. Wyplata gotowki"<<endl;
cout << "3. Stan konta" <<endl;
cout << "4. Wyloguj" <<endl;
cout << "5. Zamknij program"<<endl;
cout <<"_____________________"<<endl;
wybor = getch();
cout<<endl;
switch (wybor)
{
case '1':
cout <<"Wplata gotowki"<<endl;
cout <<"______________"<<endl;
cout <<"Podaj wartosc: ";
cin >> wplata;
system ("cls");
cout <<"Wplacono: "<< wplata <<endl;
cout <<"Obecny stan konta: "<<stan+wplata<<endl<<endl<<endl;
cout <<"Press any key to continue..."<<endl;
break;
case '2':
cout <<"Wyplata gotowki"<<endl;
cout <<"______________"<<endl;
cout <<"Podaj wartosc: ";
cin >> wyplata;
if (wyplata>stan)
cout<< "Brak wystarczajacych srodkow!";
else
{
cout <<"Wyplacono: "<< wyplata <<endl;
cout <<"Obecny stan konta: "<<stan-wyplata<<endl<<endl<<endl;
cout <<"Press any key to continue..."<<endl;
}
break;
case '3':
cout << "Dostepne srodki: "<< stan <<endl<<endl<<endl;
cout <<"Press any key to continue..."<<endl;
break;
case '4':
system ("cls");
return main();
break;
case '5':
exit (0);
break;
default:
cout<< "\a";
cout<<"Blad! Dostepne opcje: 1-5"<<endl;
cout<<"Wcisnij dowolny klawisz i wybierz ponownie!"<<endl;
}
getch();
system("cls");
}
}
return 0;
}