Prostym sposobem na poradzenie sobie z tym problemem byłoby zamknięcie switcha w pętli do...while:
do{
cout << "1. Zapisywanie Twoich danych do pliku tekstowego" << endl;
cout << "2. Obliczanie sredniej" << endl;
cout << "3. A takze funkcje kalkulatora: " << endl;
cout << "a) Dodawanie" << endl;
cout << "b) Odejmowanie" << endl;
cout << "c) Mnozenie" << endl;
cout << "d) Dzielenie" << endl;
cout << "4. Wyjscie" << endl;
cout << "Podaj cyfre, od jeden do cztery: " << endl;
wybor=getch();
{
switch (wybor)
{
case '1': system ("cls");informacje();
cout<<"Czy chcesz tez policzyc srednia? Odpowiedz TAK lub NIE. ";
cin>> odpowiedz;
transform(odpowiedz.begin(), odpowiedz.end(), odpowiedz.begin(), ::tolower);
if (odpowiedz=="nie")
{
system ("cls");
cout <<"Wiec tego nie zrobie. Powrot do programu";
break;
}
if (odpowiedz=="tak")
{
case '2': system ("cls");sredniaocen (); break;
}
case '3': system ("cls");
cout <<"Witaj w kalkulatorze. Wybierz jedno dzialanie i podazaj za instrukcjami na ekranie: "<<endl;
cout << "a) Dodawanie" << endl;
cout << "b) Odejmowanie" << endl;
cout << "c) Mnozenie" << endl;
cout << "d) Dzielenie" << endl; break;
case '4': exit (0); break;
default: cout <<"Nie ma takiej opcji w menu! "; getchar(); break;
}
}while(wybor < '1' || wybor >'4');
W ten sposób jesli użytkownik poda inny znak niż 1..4, to warunek pętli do...while będzie spełniony, i program wróci do początku