Решение данной задачи неоднозначно, у каждого программиста мозг работает по своему. Поэтому код будет отличаться в любом случае, даже если вы тоже в программе используете операторы выбора if и оператор множественного выбора switch. Кстати, среду программирования выбирайте на свое усмотрение, не обязательно использовать Microsoft Visual Studio. Результат работы программы у вас должен получиться такой:
// switch_test.cpp: определяет точку входа для консольного приложения.
#include "stdafx.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int answer1, answer2, answer3, answer_case = 0; // вспомогательные переменные
cout << "1)How many cat lives? \nanswers: \n-> 5 lives \n-> 7 lives \n-> 9 lives\nyour answer: "; // Сколько жизней у кошки?
cin >> answer1;
cout << "\n2)How many centimeters in a meter? \nanswers: \n-> 10 centimeters \n-> 100 centimeters \n-> 1000 centimeters\nyour answer: "; // Сколько сантиметров в одном метре?
cin >> answer2;
cout << "\n2)The speed of sound? \nanswers: \n-> 340 m/s \n-> 320 m/s \n-> 240 m/s \nyour answer: "; //Скорость звука?
cin >> answer3;
if (answer1 == 9) answer_case ++; // проверяем ответ на первый вопрос
if (answer2 == 100) answer_case ++; // проверяем ответ на второй вопрос
if (answer3 == 340) answer_case ++; // проверяем ответ на третий вопрос
cout << "\nRating = ";
switch (answer_case) // определяем количество баллов, по пятибальной системе
{
case 1: {cout << "2 balla\n"; break;}
case 2: {cout << "4 balla\n"; break;}
case 3: {cout << "5 ballov\n"; break;}
default : cout << "0 ballov\n";
}
system("pause");
return 0;
}
Вопросы формируются оператором cout, после чего, операторы выбора if анализируют ответы, инкрементируют переменную answer_case, если ответ правильный, в противном случае значение в этой переменной не меняется. Далее в операторе множественного выбора switch определяется количество заработанных балов. Ниже, смотрим результат работы программы:
1)How many cat lives?
answers:
-> 5 lives
-> 7 lives
-> 9 lives
your answer: 9
2)How many centimeters in a meter?
answers:
-> 10 centimeters
-> 100 centimeters
-> 1000 centimeters
your answer: 100
2)The speed of sound?
answers:
-> 340 m/s
-> 320 m/s
-> 240 m/s
your answer: 340
Rating = 5 ballov
Комментарии
odto11
#include <iostream> using namespace std; int main() { int iChoice = 0; float fRating = 0; cout << "\t\tПрограмма-тест, оператора switch\n\n"; cout << "Сколько жизней у кошки?"; cout << "Ответы:\n"; cout << "-> 5 жизней\n-> 7 жизней\n-> 9 жизней"; cout << "\nВаш ответ: "; cin >> iChoice; switch(iChoice) { case 5: fRating = 0; break; case 7: fRating = 0; break; case 9: fRating = 5; break; } cout << "\nСколько сантиметров в метре?\n"; cout << "Ответы:\n"; cout << "-> 10 сантиметров\n-> 100 сантиметров\n-> 1000 сантиметров"; cout << "\nВаш ответ: "; cin >> iChoice; switch(iChoice) { case 10: fRating = fRating + 0; break; case 100: fRating = fRating + 5; break; case 1000: fRating = fRating + 0; break; } cout << "\nКакова скорость звука?\n"; cout << "Ответы:\n"; cout << "-> 330 м/с\n-> 320 м/с\n-> 230 м/с"; cout << "\nВаш ответ: "; cin >> iChoice; switch(iChoice) { case 330: fRating = fRating + 5; break; case 320: fRating = fRating + 0; break; case 230: fRating = fRating + 0; break; } cout << fRating << endl; cout << "\nВы заработали = " << fRating/3 << " баллов!"; return 0; }