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

Создание теста. Реализовать подсчет правильных ответов - C++

Восстановить пароль Регистрация
 
Nika89
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 5
07.04.2014, 13:21     Создание теста. Реализовать подсчет правильных ответов #1
Добрый день, подскажите как закончить программу с написанием теста в С++, начало я сделала, в концу нужно чтобы был счетчик, чтобы сложились все правильные ответы. Если при 7 правильных ответов должно выводить "Гений", при 6 "Эрудит", 5 "нормальный",4 "способности средние", 3 "способность ниже среднего" и при <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
#include "iostream"
using namespace std;
void main()
{
    system("cls");
    setlocale(LC_ALL, "Russian"); 
    int a, b, c, d, e, f, g, i;
    cout << "1 вопрос: Профессор лег спать в 8 часов,а проснулся в 9. Сколько часов проспал профессор? "<<endl;
        cin >> a;
        switch (a)
        {
        case 1: cout << "1" << endl; break;
        default: cout << "0" << endl; 
        }
    cout << "2 вопрос: На 2х руках 10 пальцев. Сколько пальцев на 10 руках? "<<endl;
        cin >> b;
        switch (b)
        {
        case 50: cout << "1" << endl; break;
        default: cout << "0" << endl;
        }
    cout << "3 вопрос: Сколько цифр в дюжене? "<<endl;
        cin >> c;
        switch (c)
        {
        case 2: cout << "1" << endl; break;
        default: cout << "0" << endl;
        }
    cout << "4 вопрос: Сколько нужно сделать запилов, чтобы распилить бревно на 12 частей? " << endl;
    cin >> d;
    switch (d)
    {
    case 11: cout << "1" << endl; break;
    default: cout << "0" << endl;
    }
    cout << "5 вопрос: Врач сделал 3 урока в интервале 30 минут. Сколько времени он затратил в минутах? " << endl;
    cin >> e;
    switch (e)
    {
    case 60: cout << "1" << endl; break;
    default: cout << "0" << endl;
    }
    cout << "6 вопрос: Сколько цифр 9 в интервале от 1 до 100? " << endl;
    cin >> f;
    switch (f)
    {
    case 1: cout << "1" << endl; break;
    default: cout << "0" << endl;
    }
    cout << "7 вопрос: У пастуха было 30 овец. Все, кроме одной разбежались. Сколько овец осталось? " << endl;
    cin >> g;
    switch (g)
    {
    case 30: cout << "1" << endl; break;
    default: cout << "0" << endl;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2014, 13:21     Создание теста. Реализовать подсчет правильных ответов
Посмотрите здесь:

Реализовать распознание объекта из некоторого множества (расширяемого) на основе вопросов и ответов C++
C++ Реализовать команду md-создание каталога в Borland C++
C++ Какой функцией можно реализовать выделение теста на экране?
C++ Реализовать подсчет числа пи по представленной формуле с измерением времени работы в секундах
C++ Реализовать создание объекта класса с нужными параметрами
C++ Создание консольного теста: выводит задание и 4 варианта ответа
Создание теста C++
C++ Обучение устному счёту: проверка количества правильных и неправильных ответов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
07.04.2014, 13:50     Создание теста. Реализовать подсчет правильных ответов #2
Nika89, незнаю пригодиться или нет, но можно сделать вот так. геморно только 2 массива заполнять вопросами и словами-резутатами, а так вроде попроще. ну в любом случае если вам нехватает только вывода результата, я бы сделал переменную счетчик и в зависимости от нее выводил результат-опять таки через массив или switch как удобней
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    int count;              //счетчик правильных ответов
    char* questions[7];     //вопросы
    //заполнение массива вопросами...
 
    int answers[7];         //массив ответов
    int ans[]={1,50,2,11,60,1,30};      //массив правильных ответов
    char* result[7];        //массив результатов теста
    strcpy(result[6],"Erudit");     //пример заполнения элементов массива
    //дальнейшее заполнение массива...
 
    for (int i=0;i<7;i++) {         //задаем вопросы и получаем ответы
        cout<<questions[i]<<endl;
        cin>>answers[i];
        if (answers[i]==ans[i])     //сравниваем ответ с правильным и увеличиваем счетчик
            count++;
    }
    cout<<result[count-1];          //вывод результата
Добавлено через 11 минут
вот полный код
Кликните здесь для просмотра всего текста
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
#include <iostream>
 
using namespace std;
 
int main()
{   
    int count=0;                //счетчик правильных ответов
    char* questions[7];     //вопросы
    for (int i=0;i<7;i++)
        questions[i]=new char[255];
    //заполнение массива вопросами...
    strcpy(questions[0],"1 вопрос: Профессор лег спать в 8 часов,а проснулся в 9. Сколько часов проспал профессор?");
    strcpy(questions[1],"2 вопрос: На 2х руках 10 пальцев. Сколько пальцев на 10 руках? ");
    strcpy(questions[2],"3 вопрос: Сколько цифр в дюжене? ");
    strcpy(questions[3],"4 вопрос: Сколько нужно сделать запилов, чтобы распилить бревно на 12 частей? ");
    strcpy(questions[4],"5 вопрос: Врач сделал 3 урока в интервале 30 минут. Сколько времени он затратил в минутах?");
    strcpy(questions[5],"6 вопрос: Сколько цифр 9 в интервале от 1 до 100?");
    strcpy(questions[6],"7 вопрос: У пастуха было 30 овец. Все, кроме одной разбежались. Сколько овец осталось?");
 
    int answers[7];         //массив ответов
    int ans[7]={1,50,2,11,60,1,30};     //массив правильных ответов
    char* result[7];        //массив результатов теста
    for (int i=0;i<7;i++)
        result[i]=new char[255];
    strcpy(result[6],"Гений");      //пример заполнения элементов массива
    strcpy(result[5],"Эрудит");
    strcpy(result[4],"Нормальный");
    strcpy(result[3],"Средние способности");
    strcpy(result[2],"Ниже среднего");
    strcpy(result[1],"Надо отдохнуть");
    strcpy(result[0],result[1]);
    //дальнейшее заполнение массива...
 
    for (int i=0;i<7;i++) {         //задаем вопросы и получаем ответы
        cout<<questions[i]<<endl;
        cin>>answers[i];
        if (answers[i]==ans[i])     //сравниваем ответ с правильным и увеличиваем счетчик
            count++;
    }
    cout<<result[count-1];          //вывод результата
    
    for (int i=0;i<7;i++) {
        delete questions[i];
        delete result[i];
    }
 
    system("pause");
    return 0;
 
}
Nika89
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 5
07.04.2014, 13:56  [ТС]     Создание теста. Реализовать подсчет правильных ответов #3
newb_programmer, Это конечно круто я не много понимаю пока что в этом, ну мы это еще не проходили) до массивов не дошли, насчет счетчика я думала это сделать ну пока умения мне пока не позволили сделать. Спасибо большое буду знать что так тоже можно) Мне бы как то по проще это сделать
Yandex
Объявления
07.04.2014, 13:56     Создание теста. Реализовать подсчет правильных ответов
Ответ Создать тему
Опции темы

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