Другие языки программирования и технологии

Как на языке С++ сделать вывод 5 задач через switch-case?

я хочу сделать вот так:
int nomer;
using namespace std;
int main()
{
cout<<"\n Введите номер задачи: ";
cin>>nomer;
switch (nomer)
{
default: cout<<"\n Такого номера задачи нет! ";break;
case 1:cout<<"\n Задача 1";break;
case 2:cout<<"\n Задача 2";break;
case 3:cout<<"\n Задача 3";break;
case 4:cout<<"\n Задача 4";break;
case 5:cout<<"\n Задача 5";break;
}
getch();
}
Только где писать сам код задачи, можно ли коды 5 задач оформить в 5 каких-нибудь примитивов и потом написатиь эти примитивы и свич-кейсе?
Если вставить код задачи между кейсом и брейком, то ничего не выходит.
Alex Alex
Alex Alex
337
#include <iostream>
using namespace std;
void exercise(short);
void yes();
void no();
int main() {
short number, ex = 5;
do {
cout << "\n Введите номер задачи: ";
cin >> number;
exercise(number);
} while (--ex);
cin.get(); cin.get();
return 0;
}
void yes() { cout << " Правильно! \n"; }
void no() { cout << " Ошибка! \n"; }
void exercise(short _number) {
switch (_number) {
case 1:
unsigned sum;
cout << "\n Задача 1\n 2 + 2 = ";
cin >> sum;
if (sum == 4) yes();
else no();
break;
case 2:
double div;
cout << "\n Задача 2\n 12 / 5 = ";
cin >> div;
if (div == 2.4) yes();
else no();
break;
case 3:
double mlt;
cout << "\n Задача 3\n 1.2 * 6 = ";
cin >> mlt;
if (mlt == 7.2) yes();
else no();
break;
case 4:
int dif;
cout << "\n Задача 4\n 13 - 24 = ";
cin >> dif;
if (dif == -11) yes();
else no();
break;
case 5:
unsigned short mod;
cout << "\n Задача 5\n 17 % 6 = ";
cin >> mod;
if (mod == 5) yes();
else no();
break;
default:
cout << "\n Такого номера задачи нет! ";
}
}
Манаф Гасанов
Манаф Гасанов
72 264
Лучший ответ
switch (nomer)
{
case 1:
{//эти скобки обязательно
код задачи 1;
}
break;
case 2:
{
код задачи 2;
}
break;
....
....
default://обязан идти в конце
{
....
}
break;
}
AR
Amanzhol Rakhmet
593

Похожие вопросы