воскресенье, 30 января 2011 г.

Задача 130.

Напишите программу проверки знания таблицы умножения. Программа должна вывести 10 примеров и выставить оценку: за 10 правильных ответов - "отлично", за 9 и 8 - "хорошо", за 7 и 6 - "удовлетворительно", за 5 и менее - "плохо".

/*
    Программа проверяет знание таблицы умножения.
    Программа выводит 10 примеров и выставляет оценку
    10 правильных ответов - "отлично", 9 и 8 - "хорошо",
    7 и 6 - "удовлетворительно". менее 6-ти "плохо".
*/

#include "locale.h"
#include "stdio.h"
#include "curses.h"
#include "stdlib.h"
#include "time.h"

main()
{
    int i;
    time_t t;
    char *log;
    char *s;
    int point;
    int x1, x2, y;
   
    i = 0;
    point = 0;
    x1 = x2 = y = 0;
   
    log = setlocale(LC_CTYPE, "ru_RU.UTF-8");
   
    initscr();
   
    srand((unsigned) time(&t));
   
    printw("*** Проверка знания таблицы умножения. ***\n");
    printw("После примера введите ответ и нажмите <Ente>\n");
   
    point = 0;
    for(i = 1; i <= 10; i++)
    {
    x1 = rand() % 10 + 1;
    x2 = rand() % 10 + 1;
    printw("%i x %i = ", x1, x2);
   
    scanw("%i", &y);
    if(y != (x1 * x2))
    {
        printw("Вы ошиблись %i x %i = %i\n", x1, x2, y);
    }
    else point++;
    }
   
    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", s);
    getch();
    endwin();
    return 0;
}

Комментариев нет:

Отправить комментарий