Иллюстрированный самоучитель по С++ для начинающих

Решения (задачи 121-138)

Задача 130.

// Программа проверяет знание таблицы умножения
#include <stdio.h>
#include <conio.h>
#include <stdlib.h> // для доступа к srand и rand
#include <time.h>
void main()
int numbl,numb2; // сомножители
N
int res; int otv; int kol = 0; int i;
time t t;
// произведение
// ответ испытуемого
// количество правильных ответов
// счетчик циклов
// текущее время – для инициализации
// генератора случайных чисел
printf("\*** Проверка знания таблицы умножения ***\п");
printf(" После примера введите ответ и нажмите Enter");
srand((unsigned) time(&t));; // инициализация генератора
// случайных чисел
for (i = 1; i <= 10; i++) // 10 примеров
numbl = rand()%7 + 2; // число от 2 до 9
numb2 = rand()%7 + 2;
res = numbl * numb2;
printf("%ix%i=", numbl, numb2);
scanf("%i",&otv);
if (otv == res)
else printf("Вы ошиблись! %ix%i=%iХпПродолжим…\n", numbl, numb2, res);
printf("Хп Правильных ответов: %i\n", kol); printf("Ваша оценка: "); switch (kol)
case 10: puts("5"); break; case 9: puts("4"); break; case 8: puts("4"); break;
case 7: puts("3"); break; default: puts("2"); break;
printf("Хп Для завершения нажмите Enter");
getch();

Задача 131.

// Проверка умения складывать и вычитать числа
#include <stdio.h> #include <conio.h>
finclude <stdlib.h> // для доступа к srand и rand #include <time.h>
tdefine LEVEL 97+2 // действия над числами от 2 до 99
void main() {
int nuitibl, numb2; // числа
int op; // действие над числами:
//0 – сложение, 1 – вычитание
char zop; // знак операции – "плюс" или "минус"
int res; // результат
int otv; // ответ испытуемого
int kol =0; // количество правильных ответов
int buf; // буфер для обмена numbl и numb2,
//в случае, если numbl<numb2
int i; // счетчик циклов
time_t t; // текущее время – для инициализации
// генератора случайных чисел
printf("ХпПроверка умения складывать и вычитать числа\п");
printf("После примера введите ответ и нажмите Enter"); kol = 0;
srand((unsigned) time (&t));; // инициализация генератора
// случайных чисел
for (i = 1; i <= 10; i // сгенерируем пример
numbl = rand() % LEVEL; // число от 2 до 99
numb2 = rand() % LEVEL;
op = rand()%2; // действие над числами
if (op == 0) res = numbl + numb2;
zop = '+'; }
else { // Вычитание
zop =
if (numbl < numb2) // обменяем numbl и numb2 buf = numb2; numb 2 = numbl; numbl = buf;
res = numbl – numb2; }
printf("%i%c%i=", numbl, zop, numb2);
// вывести пример scanf("%i", &otv);
// получить ответ испытуемого if (otv == res)
else printf("Вы ошиблись. %i%c%i=%i\n", numbl, zop, numb2, res);
printf("Правильных ответов: %i\n", kol);
printf("Ваша оценка:\n"); switch (kol)
case 10: puts("5"); break;
case 9: puts("4"); break;
case 8: puts("4"); break;
case 7: put s("3"); break;
default: puts("2"); break;
printf("Хп Для завершения нажмите Enter")
getch();
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.