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

Исправить код тестирования - C++

Восстановить пароль Регистрация
 
RyukChris
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 9
09.05.2014, 00:09     Исправить код тестирования #1
Помогите пожалуйста!!!
Программа должна выставлять оценку по следующему правилу:
отлично — за правильные ответы на все вопросы, хорошо — если
испытуемый правильно ответил не мене чем на 80% вопросов, удов-
летворительно — если правильных ответов более 60%, и неудов-
летворительно — если правильных ответов меньше 60%.

Не работает((((

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
67
68
69
70
71
72
#include <iostream>
#include "stdio.h"
#include "conio.h"
#include "string.h"
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();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2014, 00:09     Исправить код тестирования
Посмотрите здесь:

C++ Исправить код
исправить на код С C++
C++ Исправить код
исправить код C++
C++ Исправить код
C++ исправить код
C++ Исправить код
C++ Исправить код

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4259 / 3690 / 1243
Регистрация: 14.04.2014
Сообщений: 14,458
09.05.2014, 09:39     Исправить код тестирования #2
C++
1
2
3
4
5
6
7
8
9
float VsegoVopr = 0;
float PravOtv = 0;
float p;
if (p == 100) puts("ОТЛИЧНО!");
else
    if (p >= 80) puts("ХОРОШО.");
    else
        if (p >= 60) puts("УДОВЛЕТВОРИТЕЛЬНО.");
        else puts("ПЛОХО!\n");
Yandex
Объявления
09.05.2014, 09:39     Исправить код тестирования
Ответ Создать тему
Опции темы

Текущее время: 17:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru