Напишите программу проверки умения складывать и вычитать числа в пределах 100. Программа должна вывести 10 примеров, причем в каждом примере уменьшаемое должно быть больше или равно вычитаемому, т.е. не допускается предлагать испытуемому примеры с отрицательным результатом. Оценка выставляется по следующему правилу: за 10 правильных ответов - "отлично", за 9 и 8 - "хорошо", за 7 и 6 - "удовлетворительно", за 5 и меньше - "плохо".
/*
Программа проверки умения складывать и вычитать
числа в пределах 100. Программа выводит 10 при-
меров, причем в каждом примере уменьшаемое
должно быть больше или равно вычитаемому, т.е.
не допускается чтобы результат был отрицательным.
Оценка выставляется по следующему правилу: за 10 правильных
ответов - "отлично", за 9 и 8 - "хорошо", за 7 и 6 -
"удовлетворительно", за 5 и менее - "плохо".
*/
#include "locale.h"
#include "stdio.h"
#include "curses.h"
#include "stdlib.h"
#include "time.h"
main()
{
int i;
time_t t;
int x1, x2, y, otv, znak, point;
char *s;
char *log;
i = 0;
x1 = x2 = y = otv = 0;
znak = 1;
point = 0;
log = setlocale(LC_CTYPE,"ru_RU.UTF-8");
initscr();
srand((unsigned) time(&t));
printw("Проверка умения складывать и вычитать числа.\n");
printw("После примера введите ответ и нажмите <Enter>\n");
for(i = 1; i <= 10; i++)
{
x1 = rand() % 100 + 1;
x2 = rand() % 100 + 1;
znak = rand() % 2 + 1;
if(znak == 1)
{
if(x1 > x2)
{
printw("%i - %i = ", x1, x2);
y = x1 - x2;
}
else
{
printw("%i - %i = ", x2, x1);
y = x2 - x1;
}
}
else
{
printw("%i + %i = ", x1, x2);
y = x1 + x2;
}
scanw("%i", &otv);
if(otv == y)
point++;
else
{
printw("Вы ошиблись правильный ответ: %i\n", y);
}
}
printw("Правильных ответов: %i\n", point);
if(point == 10)
s = "Отлично.";
else if(point == 9 || point == 8)
s = "Хорошо.";
else if(point == 7 || point == 6)
s = "Удовлетворительно.";
else s = "Плохо.";
printw("Оценка %s\n", s);
getch();
endwin();
return 0;
}
Комментариев нет:
Отправить комментарий