Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nesterckoff
0 / 0 / 0
Регистрация: 11.11.2015
Сообщений: 29
#1

Универсальная программа тестирования - C++

21.06.2016, 11:10. Просмотров 303. Ответов 1
Метки нет (Все метки)

Напишите универсальную программу тестирования. Тест, последовательность вопросов и варианты ответов должны находиться в текстовом файле. Имя файла теста программа должна получать из командной строки запуска программы. Количество вопросов теста неограничено. Вместе с тем, предлагается ввести следующее ограничение: текст вопроса и альтернативных ответов не должен занимать более одной строки экрана.
Программа должна выставлять оценку по следующему правилу: ОТЛИЧНО — за правильные ответы на все вопросы, ХОРОШО — если испытуемый правильно ответил не менее чем на 80% вопросов, УДОВЛЕТВОРИТЕЛЬНО — если правильных ответов более 60%, и ПЛОХО — если правильных ответов меньше 60%.
Ниже приведена рекомендуемая структура файла вопросов теста (Ni — количество альтернативных ответов к i-ому вопросу, кь — номер правильного ответа), пример файла теста и вид экрана во время работы программы (номера ответов, введенные пользователем, выделены полужирным шрифтом).

Вопрос1
N1 M1
Ответ
...
Ответ
Вопрос2
N2 M2
Ответ
...
Ответ
Вопросk
Nk Mk
Архитектор Исаакиевского собора
3 2
Доменико Трезини
Огюст Монферран
Карл Рос си
Архитектор Зимнего дворца
2 2
Франческо Бартоломео
Огюст Монферран
Невский проспект получил свое название
3 2
По имени реки, на которой стоит Санкт-Петербург.
По имени близко расположенного монастыря, Александро-Невской
лавры.
в память о знаменитом полководце — Александре Невском.
Сейчас Вам будет предложен тест.
К каждому вопросу дается несколько вариантов ответов.
Вы должны ввести номер правильного ответа
и нажать клавишу <Enter>
Архитектор Исаакиевского собора:
1. Доменико Трезини
2. Огюст Монферран
3. Карл Росси -> 2
Архитектор Зимнего дворца:
1. Франческо Бартоломео
2. Карл Росси -> 2
Часть I. Задачи
67
Невский проспект получил свое название:
1. По имени реки, на которой стоит Санкт-Петербург.
2. По имени близко расположенного монастыря, Александро-Невской лавры.
З.в память о знаменитом полководце — Александре Невском.
Ваша оценка ОТЛИЧНО!
Для завершения работы программы нажмите <Enter>
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2016, 11:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Универсальная программа тестирования (C++):

Программа тестирования - C++
Подскажите пожалуйста почему почему выходит ошибка rror C2065: 'a' : undeclared identifier #include&lt;iostream&gt; #include&lt;string&gt; ...

Программа тестирования знаний - C++
Вот часть задачи , с которой не могу разобраться 1. В текстовый файл надо записать вопросы, и 4 варианта ответа. 2. надо реализовать...

Программа тестирования знаний - C++
Здравствуйте! Нужна программа тестирования знаний на с++ , консолька... как, например, в книге Лаптева В. &quot;экспресс курс&quot; на 238странице...

Программа для тестирования знаний - C++
Нужно написать программу оболочка для тестирования знаний, чтобы можно было вставить файл с вопросами и 4 вариантами ответов. Достаточно...

Программа для тестирования разными способами - C++
Даны натуральное число N (N&gt;5) и одномерный массив А1 , А2, ..., AN символьных элементов. Определить три максимальных и два минимальных...

Программа тестирования - как организовать процесс? - C++
почему он выводит всегда первый вариант? даже если а=3 , он при ответе пишет первый вариант (тоесть якобы а=1) сам код ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nstwf
87 / 77 / 30
Регистрация: 19.02.2016
Сообщений: 324
Завершенные тесты: 1
21.06.2016, 11:43 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <stdio.h>
#include <conio.h>
#include <string>
 
using namespace std;
void main(int argc, char* argv[])
{
    char fname[40];
    FILE* f; 
    int VsegoVopr = 0;
    int PravOtv = 0; 
    int nOtv;
    int Prav;
    int Otv;
    int p;
    char st[80]; 
    int i; 
    if (!argc)
    {
        puts("\nНе задан файл вопросов теста!");
        puts("Командная строка: test ИмяФайлаТеста\n");
        return;
    }
    strcpy(fname, argv[1]); // имя файла из командной строки
                            // Открыть файл в режиме чтения (r) текста (t)
    if ((f = fopen(fname, "rt")) == NULL)
    {
        printf("Ошибка открытия файла %s", fname);
        getch();
        return;
    }
    system("cls");
    puts("\nСейчас Вам будет предложен тест.");
    puts("К каждому вопросу дается несколько вариантов ответа.");
    puts("Вы должны ввести номер правильного ответа");
    puts("и нажать клавишу <Enter>\n");
    printf("Для начала тестирования нажмите <Enter>");
    _getch();
    system("cls");
    while (!feof(f))
    {
        VsegoVopr++;
        fgets(st, 80, f);
        printf("\n%s\n", st);
        fscanf(f, "%i %i", &nOtv, &Prav);
        fgets(st, 80, f); 
        for (i = 1; i <= nOtv; i++)
        {
            fgets(st, 80, f);
            printf("%i. %s", i, st);
        }
        printf("\nВаш выбор ->");
        scanf("%i", &Otv);
        if (Otv == Prav) PravOtv++;
    }
 
 
    p = 100 * PravOtv / VsegoVopr;
    printf("\nВаша оценка - ");
    if (p == 100) puts("ОТЛИЧНО!");
    if (p >= 99 && p <= 80) puts("ХОРОШО.");
    if (p >= 60 && p <= 79) puts("УДОВЛЕТВОРИТЕЛЬНО.");
    if (p < 60) puts("ПЛОХО!\n");
    puts("\nДля завершения нажмите <Enter>");
    getch();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2016, 11:43
Привет! Вот еще темы с ответами:

Консольная программа тестирования [работа с текстовыми файлами] - C++
Здравствуйте. Первый раз программирую на С++. Есть &quot;ТЗ&quot;: разработать программу для тестирования знаний учащихся (курсач). Подскажите,...

Программа тестирования, не могу разобрать свои косяки :(. - C++
Добрый день. очень нужна помощь. Стояла задача написать программу тестирования, корорая подсчитывает баллы за правильные ответы через...

Программа тестирования: вопрос и три варианта ответа - C++
. Напишите программу проверки знания истории архитекту* ры. Программа должна вывести вопрос и три варианта ответа. Пользователь должен...

Универсальная функция - C++
Напишите пожалуйста прогу.Написать универсальную функцию для вычислениия заданных выражений.В main() обеспечить вызов этой функции и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru