Составить программу проверки знания таблицы умножения. Сценарий: компьютер спрашивает: «Проверим?» (варианты ответов: 0 – «нет», 1 – «да») . Если играющий отвечает «да», то компьютер с помощью генератора случайных чисел задает 2 числа и запрашивает их произведение. После проверки правильности ответа компьютер сообщает «правильно» или «неправильно» и подсчитывает количество правильных ответов и ошибок. Затем компьютер вновь спрашивает: «Проверим?». По окончании работы цикла компьютер выдает статистику игры: сколько всего задано вопросов, количество правильных ответов и число ошибок.
Ответы
не знаю на каком языке нужно было сделать, но вот пример на с++
//---------
#include <iostream>
#include <ctime>
#include <Windows.h>
using namespace std;
int main()
{
srand(time(NULL));//для генерацыи постояно новых чисел
int choice=0;//выбор пользователя
int TrueCounter = 0;//подщитывает сколько раз правильно
int FalseCounter = 0;//подщитывает сколько не правильно
int Counter = 0;//подщитывает количество вопросов
int Usernumber;//число юзера которое проверяет правильность ответа
int a, b;//числа для рандома
int end = 0;//для выхода из цыкла
do
{
a = rand() % 10 + 1;
b = rand() % 10 + 1;
system("cls");
cout << "Let's test? \n";
cout << "1 - Yes \n";
cout << "2 - No\n";
cin >> choice;
switch (choice)
{
case 1:
Counter++;
cout << "Enter answer " << a << " * " << b << endl;
cin >> Usernumber;
if (Usernumber == a * b)
{
cout << "Correct !!! \n";
TrueCounter++;
Sleep(2500);
}
else
{
cout << "Incorrect !!! \n";
cout << "Correct answer > " << a * b << endl;
FalseCounter++;
Sleep(2500);
}
break;
case 2:
end = 1;
break;
}
} while (end != 1);
system("cls");
cout << "Game Info : \n";
cout << "Question counter > " << Counter << endl;
cout << "Correct answer > " << TrueCounter << endl;
cout << "Incorrect anser > " << FalseCounter << endl;
system("pause");
return 0;
}

// PascalABC.NET 3.4.2, сборка 1785 от 06.09.2018
var c, w: integer;
procedure check;
begin
var (a, b) := (Random(0, 20), Random(0, 20));
Print($'{a}*{b}=');
if a * b = ReadInteger then begin inc(c); Println('Правильно') end
else begin inc(w); Println('Неправильно') end;
end;
procedure res;
begin
Println($'Задано вопросов {c+w}');
Println($'Правильных {c}({(c*100)/(c+w):f1}%)');
Println($'Неправильных {w}({(w*100)/(c+w):f1}%)');
end;
begin
var start := true;
while start do
begin
Println('Проверим?(0/1)');
if ReadInteger = 0 then
begin start := false; res; end
else check;
end;
end.
Пример в приложении.
