Przygotowuję połączenie kalkulatora i konwentera. To znaczy: najpierw wybieramy z Menu Głównego, z której z tych dwóch funkcji chcemy korzystać, następnie wybieramy taką 'podfunkcję' np. dodawanie i dopiero obliczenia.
Chciałem zamknąć ten program w pętli for(;;) tak, żeby po wybraniu opcji '5. Powrót do menu glownego' lub wykonaniu obliczeń wracał do miejsca "MENU GLOWNE". Niestety, program się wtedy kończy i nie wiem czemu
#include <iostream>
#include <cstdlib>
#include <conio.h>
using namespace std;
float x,y,m;
char wybor,wybor2,wybor3,wybor4,wybor5;
int main()
{
for (;;)
{
cout << "MENU GLOWNE" << endl;
cout << "----------------" << endl;
cout << "1.Kalkulator" << endl;
cout << "2.Konwenter" << endl;
wybor=getch();
system("cls");
switch (wybor)
{
case '1':
cout<<"Witaj w kalkulatorze, wybierz operacje: "<<endl<<endl;
cout << "MENU KALKULATORA" << endl;
cout << "----------------" << endl;
cout << "1.Dodawanie" << endl;
cout << "2.Odejmowanie" << endl;
cout << "3.Mnozenie" << endl;
cout << "4.Dzielenie" << endl;
cout << "5.Powrot do Menu Glownego" << endl;
wybor2=getch();
system ("cls");
switch (wybor2)
{
case '1':
cout<<"Dodawanie"<<endl<<endl;
cout<<"Podaj 1 liczbe: ";
cin>>x;
cout<<"Podaj 2 liczbe: ";
cin>>y;
cout<< "Suma = "<<x+y;
break;
case '2':
cout<<"Odejmowanie"<<endl<<endl;
cout<<"Podaj 1 liczbe (odjemna): ";
cin>>x;
cout<<"Podaj 2 liczbe (odjemnik): ";
cin>>y;
cout<< "Roznica = "<<x-y;
break;
case '3':
cout<<"Mnozenie"<<endl<<endl;
cout<<"Podaj 1 liczbe: ";
cin>>x;
cout<<"Podaj 2 liczbe: ";
cin>>y;
cout<< "Iloczyn = "<<x*y;
break;
case '4':
cout<<"Dzielenie"<<endl<<endl;
cout<<"Podaj 1 liczbe (dzielna): ";
cin>>x;
cout<<"Podaj 2 liczbe (dzielnik): ";
cin>>y;
if (y==0) cout <<"Nie dzielimy przez zero!";
else cout<< "Roznica = "<<x/y;
break;
case '5':
exit(0);
}
case '2':
cout <<"Witaj w konwenterze, wybierz grupe miar: "<<endl<<endl;
cout << "MENU KONWENTERA" << endl;
cout << "----------------" << endl;
cout << "1.Dlugosc" << endl;
cout << "2.Masa" << endl;
cout << "3.Powrot do Menu Glownego" << endl;
wybor3=getch();
system ("cls");
switch (wybor3)
{
case '1':
cout<<"Wybierz opcje konwersji dlugosci: "<<endl;
cout<<" 1. metr --> stopa "<<endl;
cout<<" 2. stopa --> metr "<<endl;
cout<<" 3. metr --> cal "<<endl;
cout<<" 4. cal --> metr "<<endl;
wybor4=getch();
switch (wybor4)
{
case '1':
cout<< "1. Podaj liczbe w metrach: ";
cin>> m;
cout<< "Na stopy: "<< m*3.2089;
break;
case '2':
cout<< "2. Podaj liczbe w stopach: ";
cin>> m;
cout<< "Na metry: "<< m*0.3048;
break;
case '3':
cout<< "3. Podaj liczbe w metrach: ";
cin>> m;
cout<< "Na cale: "<< m*39.709;
break;
case '4':
cout<< "4. Podaj liczbe w calach: ";
cin>> m;
cout<< "Na metry: "<< m*0.0254;
break;
}
case '2':
cout<<"Wybierz opcje konwersji masy: "<<endl;
cout<<" 1. kilogram --> funt "<<endl;
cout<<" 2. funt --> kilogram "<<endl;
cout<<" 3. kilogram --> uncja "<<endl;
cout<<" 4. uncja --> kilogram "<<endl;
wybor5=getch();
switch (wybor5)
{
case '1':
cout<< "1. Podaj mase w kilogramach: ";
cin>> m;
cout<< "Na funty: "<< m*2.2046;
break;
case '2':
cout<< "1. Podaj mase w funtach: ";
cin>> m;
cout<< "Na kilogramy: "<< m*0.4536;
break;
case '3':
cout<< "1. Podaj mase w kilogramach: ";
cin>> m;
cout<< "Na uncje: "<< m*35.274;
break;
case '4':
cout<< "1. Podaj mase w uncjach: ";
cin>> m;
cout<< "Na kilogramy: "<< m*0.0283;
break;
}
case '3':
exit (0);
}
}
}
return 0;
}