Оператор switch в C++ используется для выбора одной из нескольких веток кода в зависимости от значения целочисленного или символьного выражения.
Синтаксис
switch (выражение) {
case значение1:
// код для значения1
break;
case значение2:
// код для значения2
break;
default:
// код, выполняемый по умолчанию, если ни один из случаев не совпадает
}
break - Завершает case и дальнейшее выполнение оператора.
Небольшой пример написания теста при помощи оператора switch
Пример switch
cout << "Выберите вариант ответа:" << endl << endl;
cout << "Какая самая большая страна в мире?\n\n1. Соединенные Штаты Амиерики\n2. Российская Федерация\n3. Канада\n4. Китай" << endl << endl;
int number; // объявляем целочисленную переменную
cin >> number; // инициализируем переменную
switch (number)
{
case 1 : // если пользователь ввел: 1, то вывести: "НЕВЕРНО!"
cout << "НЕВЕРНО!";
break;
case 2 : // если пользователь ввел: 2, то вывести: "ВЕРНО!"
cout << "ВЕРНО!";
break;
case 3 :
cout << "НЕВЕРНО!";
break;
case 4 :
cout << "НЕВЕРНО!";
break;
default:
cout << "Такого варианта ответа не существует!" << endl; // ответ при других значениях переменной
break;
}
Выше написанный пример теста с использованием оператора switch можно продлить добавив большее количество вопросов, а так же сделать подсчет балов с помощью конструкции if и применения инкремента для добавления баллов за каждый правильный ответ.
В конце же просто выводим нашу переменную к которой мы каждый раз прибавляли единицу за правильный ответ. cout << "Ваш результат: " << x << "/3";
Полный код теста
cout << "Выберите один вариант ответа:" << endl << endl;
cout << "====================================================" << endl << endl;
cout << "Какая самая большая страна в мире?\n\n1. Соединенные Штаты Амиерики\n2. Российская Федерация\n3. Канада\n4. Китай" << endl << endl;
cout << "====================================================" << endl << endl;
int number;
cin >> number;
switch (number)
{
case 1 :
cout << "Неверно!";
break;
case 2 :
cout << "Верно!";
break;
case 3 :
cout << "Неверно!";
break;
case 4 :
cout << "Неверно!";
break;
default:
cout << "Такого варианта ответа не существует!" << endl;
break;
}
int x = 0;
if ( number == 2 )
{
x++;
}
cout << "Выберите один вариант ответа:" << endl << endl;
cout << "====================================================" << endl << endl;
cout << "2 + 2 * 2 = ?" << endl << endl;
cout << "====================================================" << endl << endl;
int number2;
cin >> number2;
switch (number2)
{
case 6:
cout << "Верно!";
break;
default:
cout << "Неверно!" << endl;
break;
}
if (number2 == 6)
{
x++;
}
cout << "Выберите один вариант ответа:" << endl << endl;
cout << "====================================================" << endl << endl;
cout << "Президент США убитый Ли Харви Освальдом?\n\n1. Джон Кеннеди\n2. Джордж Буш\n3. Барак Обама\n4. Дональд Трамп" << endl << endl;
cout << "====================================================" << endl << endl;
int number3;
cin >> number3;
switch (number3)
{
case 1:
cout << "Верно!";
break;
case 2:
cout << "Верно!";
break;
case 3:
cout << "Неверно!";
break;
case 4:
cout << "Неверно!";
break;
default:
cout << "Такого варианта ответа не существует!" << endl;
break;
}
if (number3 == 1)
{
x++;
}
cout << "Ваш результат: " << x << "/3";