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

Задача 131.

Напишите программу проверки умения складывать и вычитать числа в пределах 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;
}

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

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