Witam. Mam problem z zakończeniem case. Po skończeniu całego wyboru program się zawiesza i nie może wyjść z case. Poniżej podaje kod:
#include <cstdlib>
#include <iostream>
using namespace std;
void nazwa ()
void baner ()
{
system (" cls ");
cout <<" |---------------------------------------------------------| \n"
<<" | WPISZ NUMER | ABY WYBRAC ODPOWIEDNI NAPOJ | CENA NAPOJU | \n"
<<" |---------------------------------------------------------| \n"
<<" | 1 | CAPPUCCINO Z CZEKOLADA | 3 zl 00 gr | \n"
<<" |---------------------------------------------------------| \n"
<<" | 2 | ESPRESSO | 2 zl 50 gr | \n"
<<" |---------------------------------------------------------| \n"
<<" | 3 | MALA CZARNA | 2 zl 30 gr | \n"
<<" |---------------------------------------------------------| \n"
<<" | 4 | MALA Z MLEKIEM | 2 zl 80 gr | \n"
<<" |---------------------------------------------------------| \n"
<<" | 5 | DUZA CZARNA | 3 zl 00 gr | \n"
<<" |---------------------------------------------------------| \n"
<<" | 6 | DUZA Z MLEKIEM | 3 zl 50 gr | \n"
<<" |---------------------------------------------------------| \n"
<<" | 7 | ROZPUSZCZALNA | 4 zl 00 gr | \n"
<<" |---------------------------------------------------------| \n"
<<" | 8 | GORACA CZEKOLADA | 3 zl 50 gr | \n"
<<" |---------------------------------------------------------| \n"
<<" | 9 | KONIEC SYMULACJI | | \n"
<<" |---------------------------------------------------------| \n\n";
}
void cennik ()
{
cout <<" |---------------------------| \n"
<<" | WPISZ | ABY WYBRAC MONETE | \n"
<<" |---------------------------| \n"
<<" | 0.1 | 10 gr | \n"
<<" |---------------------------| \n"
<<" | 0.2 | 20 gr | \n"
<<" |---------------------------| \n"
<<" | 0.5 | 50 gr | \n"
<<" |---------------------------| \n"
<<" | 1 | 1 PLN | \n"
<<" |---------------------------| \n"
<<" | 2 | 2 PLN | \n"
<<" |---------------------------| \n"
<<" | 5 | 5 PLN | \n"
<<" |---------------------------| \n\n";
}
int main(int argc, char *argv[])
{
nazwa();
int x;
int y;
float dozaplaty;
float zaplacone;
float doplata;
int wybor;
char znak;
do
{
baner ();
cout << " Podaj numer wybranego napoju " << endl;
cin >> wybor;
switch (wybor)
{
case 1:
cout << "Nalezy sie 3 zl 00 gr. Chcesz cukier? 0.10 gr za 1 gram. \n";
cout << "Jesli tak wpisz ile gramow jesli nie wpisz 0.\n";
cin >> y;
if (y > 0)
{
dozaplaty = (y * 0.10) + 3.00;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
else
{
dozaplaty = 3.00;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
break;
case 2:
cout << "Nalezy sie 2 zl 50 gr. Chcesz cukier? 0.10 gr za 1 gram. \n";
cout << "Jesli tak wpisz ile gramow jesli nie wpisz 0.\n";
cin >> y;
if (y > 0)
{
dozaplaty = (y * 0.10) + 2.50;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
else
{
dozaplaty = 2.50;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
break;
case 3:
cout << "Nalezy sie 2 zl 30 gr. Chcesz cukier? 0.10 gr za 1 gram. \n";
cout << "Jesli tak wpisz ile gramow jesli nie wpisz 0.\n";
cin >> y;
if (y > 0)
{
dozaplaty = (y * 0.10) + 2.30;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
else
{
dozaplaty = 2.30;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
break;
case 4:
cout << "Nalezy sie 2 zl 80 gr. Chcesz cukier? 0.10 gr za 1 gram. \n";
cout << "Jesli tak wpisz ile gramow jesli nie wpisz 0.\n";
cin >> y;
if (y > 0)
{
dozaplaty = (y * 0.10) + 2.80;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
else
{
dozaplaty = 2.80;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
break;
case 5:
cout << "Nalezy sie 3 zl 00 gr. Chcesz cukier? 0.10 gr za 1 gram. \n";
cout << "Jesli tak wpisz ile gramow jesli nie wpisz 0.\n";
cin >> y;
if (y > 0)
{
dozaplaty = (y * 0.10) + 3.00;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
else
{
dozaplaty = 3.00;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
break;
case 6:
cout << "Nalezy sie 3 zl 50 gr. Chcesz cukier? 0.10 gr za 1 gram. \n";
cout << "Jesli tak wpisz ile gramow jesli nie wpisz 0.\n";
cin >> y;
if (y > 0)
{
dozaplaty = (y * 0.10) + 3.50;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
else
{
dozaplaty = 3.50;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
break;
case 7:
cout << "Nalezy sie 4 zl 00 gr. Chcesz cukier? 0.10 gr za 1 gram. \n";
cout << "Jesli tak wpisz ile gramow jesli nie wpisz 0.\n";
cin >> y;
if (y > 0)
{
dozaplaty = (y * 0.10) + 4.00;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
else
{
dozaplaty = 4.00;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
break;
case 8:
cout << "Nalezy sie 3 zl 50 gr. Chcesz cukier? 0.10 gr za 1 gram. \n";
cout << "Jesli tak wpisz ile gramow jesli nie wpisz 0.\n";
cin >> y;
if (y > 0)
{
dozaplaty = (y * 0.10) + 3.50;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
else
{
dozaplaty = 3.50;
system (" cls ");
cout << "Razem zaplac " << dozaplaty << endl;
cout << "Monety przyjmowane: " << endl;
cennik ();
cout << "Monety wrzucone: " << endl;
cin >> zaplacone;
if (dozaplaty > zaplacone)
{
do
{
cout << "Malo zaplacone, doplac " << dozaplaty - zaplacone << endl;
cout << "Wrzucam: ";
cin >> doplata;
zaplacone = zaplacone + doplata;
}
while (dozaplaty > zaplacone);
}
if (zaplacone > dozaplaty);
cout<< "Wydaje reszte: " << zaplacone - dozaplaty << endl;
}
break;
case 9: ;
}
while ((wybor > 0) && (wybor < 9));
cout << "Czy chcesz inny napoj? (T/N)" << endl;
cin >> znak;
cout << endl;
}
while (znak=='T' || znak=='t');
system("PAUSE");
return EXIT_SUCCESS;
}
dodanie znacznika <code class="cpp"> - furious programming