Cześć.
Jako podsumowanie sześciu kursów dot. C++ postanowiłem, że napiszę taki rozbudowany program z opcjami, jakie widać w kodzie. Jak na razie pracuję nad pierwszą - Kalkulator, ponieważ nie ma sensu zajmować się kolejnymi skoro nie umie się wykonać jednej z istotniejszych rzeczy, a mianowicie mam problem z napisaniem instrukcji, która pozwoliła by na powrót do głównego menu programu.
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <cstdlib>
using namespace std;
char wybor_glowny, wybor_kalkulator;
float x, y;
int main()
{
cout << "Witaj w programie! Wybierz jedna z opcji menu, aby kontynuowac." << endl << endl;
for(;;)
{
cout << "MENU GLOWNE" << endl;
cout << "-------------" << endl;
cout << "1. Kalkulator" << endl;
cout << "2. Odgadnij liczbe" << endl;
cout << "3. Prawda/Falsz" << endl;
cout << "4. Pola figur" << endl;
cout << "5. Inicjaly" << endl;
cout << "6. Wyjdz z programu" << endl << endl;
wybor_glowny = getch();
switch(wybor_glowny)
{
case '1':
{
cout << "Witaj w kalkulatorze." << endl << endl;
for(;;)
{
cout << endl << "Nacisnij odpowiedni klawisz: " << endl;
cout << "1. Dodawanie" << endl;
cout << "2. Odejmowanie" << endl;
cout << "3. Mnozenie" << endl;
cout << "4. Dzielenie" << endl;
cout << "5. Powrot do menu" << endl << endl;
wybor_kalkulator = getch();
switch(wybor_kalkulator)
{
case '1':
{
cout << "Podaj pierwsza liczbe: ";
cin >> x;
cout << "Podaj druga liczbe: ";
cin >> y;
cout << "Suma: " << x+y << endl << endl;
break;
}
case '2':
{
cout << "Podaj pierwsza liczbe: ";
cin >> x;
cout << "Podaj druga liczbe: ";
cin >> y;
cout << "Roznica: " << x-y << endl << endl;
break;
}
case '3':
{
cout << "Podaj pierwsza liczbe: ";
cin >> x;
cout << "Podaj druga liczbe: ";
cin >> y;
cout << "Mnozenie: " << x*y << endl << endl;
break;
}
case '4':
{
cout << "Podaj pierwsza liczbe: ";
cin >> x;
cout << "Podaj druga liczbe: ";
cin >> y;
if(y==0) cout << "Nie mozna dzielic przez zero." << endl;
else cout << "Dzielenie: " << x/y << endl;
break;
}
case '5':
break;
default:
cout << "Niepoprawny wybor." << endl;
break;
}
}
}
}
}
getchar(); getchar();
return 0;
}
Jak na razie scenariusz jest następujący:
1. Użytkownik klika '1'
2. Ukazuje się menu kalkulatora
3. Użytkownik klika '1', '2', '3' lub '4'
4. Użytkownik wpisuje dwie liczby
5. Wykonuje się działanie
6. Program wraca do menu kalkulatora
I to mnie satysfakcjonuje. Jednak gdy użytkownik chciałby wrócić z kalkulatora do głównego menu, aby wybrać np. opcję Prawda/Falsz, chcę aby umożliwiało mu to kliknięcie '5' (tak jak jest opisane w menu kalkulatora). Jak to zrobić? Bo według obecnego kodu, po kliknięciu tej piątki po prostu mnoży mi się menu kalkulatora.
Będę wdzięczny za podpowiedź.