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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевод целочисленного выражения в double http://www.cyberforum.ru/cpp-beginners/thread1170514.html
Собственно ситуация следующая: class A{ private: int a,b,c; public: //---код----// operator double() { return (a*240+b*12+c)/240;
C++ Класс "Комплексное число" Написать программу с базовым классом для реализации комплексных чисел в алгебраической форме и основных операций с ними : сложения, вычитания, умножения и деления. Путем исследования создать производный класс , в котором определить методы вычисления модуля комплексного числа, вычисления комплексной экспоненты и комплексного спряженного . И ЕЩЕ: в программе предусмотреть возможные... http://www.cyberforum.ru/cpp-beginners/thread1170500.html
C++ Заполнение структуры в конструкторе
Нужно в конструкторе вызвать функцию заполнения структуры. Без цикла все работает, а вот с циклом даже в функцию похоже не заходит. Может есть какие у кого-нибудь соображения, что тут придумать можно?) #include <stdio.h> #include <iostream> #include <string.h> #include <locale.h> #include<Windows.h> using namespace std; //NameDataSet содержит имя клиента и номер кредитной карты
C++ Найти последовательности из трех элементов, сумма которых больше 10
В одномерном массиве (не менее 6 элементов) определите и выведите на экран, последовательности, состоящие из трех элементов, сумма которых больше 10.
C++ Метод простой итерации http://www.cyberforum.ru/cpp-beginners/thread1170465.html
Помогите с рекурсией!!! Задача: Найти корень заданного уравнения методом простой итерации с заданной точностью. Напомним, что в этом методе нужно уравнение свести к виду x=f(x) и очередное уточнение корня проводится по формуле xn+1=f(xn) до тех пор, пока |xn+1 – xn | > E, где E - заданная точность. Рядом с уравнением в скобках указано начальное приближение корня. x-sin(x)=0.25 (1.17) ...
C++ Подсчитать количество пустых строк в файле Сформировать текстовый файл. Подсчитать количество пустых строк в нем. Использовать функции, а также меню для выбора существующего или вновь создаваемого файла. подробнее

Показать сообщение отдельно
RyukChris
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 9

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

09.05.2014, 00:09. Просмотров 210. Ответов 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();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru