Как сделать так, чтобы в случае неверного ответа на вопрос " сколько будет 7*8?" заканчивалась программа?
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int a;
cout << "Сколько будет 7*8?" << endl;
cin >> a;
switch (a)
{
case 56:
{
cout << "верно" << endl;
break;
}
default:
{
cout << "неверно, вы проиграли!" << endl;
break;
}
}
cout << "В каком году был основан Минск?" << endl;
cin >> a;
switch (a)
{
case 1067:
{
cout << "молодец, знаешь" << endl;
}
default:
{
cout << "дебил(ка)" << endl;
break;
}
}
system("pause");
}
Ответы (2 шт):
Автор решения: AR Hovsepyan
→ Ссылка
Много способов. Например можно вообше не написать программу, если ответ неверный:
struct A {
int a;
A() {
cout << "Сколько будет 7*8?" << endl;
cin >> a;
}
~A() {
if (a != 56)
cout << "неверно, вы проиграли!" << endl;
}
};
int main() {
if (A().a == 56) { /*... некоторый код */ }
//в обратном случаи ничего не делаем
return 0;
}
Еще можно генерировать исключение, но не обработать, или просто возвращать из функции, как в другом ответе...