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

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

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

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

07.04.2014, 13:21. Просмотров 855. Ответов 2
Метки нет (Все метки)

Добрый день, подскажите как закончить программу с написанием теста в С++, начало я сделала, в концу нужно чтобы был счетчик, чтобы сложились все правильные ответы. Если при 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;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2014, 13:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание теста. Реализовать подсчет правильных ответов (C++):

Как прикрепить счетчик правильных ответов? - C++
как к нему прикрепить счетчик правильных ответов чтоб в конце он выдал сколько правильных ответов? #include&lt;iostream&gt; using...

Сравнить 2 текстовых файла и вывести количество правильных ответов - C++
В 1 файле имеется строка состоящая из цифр. Цифры- это номера ответов. Во 2 файле записана правильная последовательность ответов....

Обучение устному счёту: проверка количества правильных и неправильных ответов - C++
#include &quot;iostream&quot; #include &quot;ctime&quot; #include &quot;cstdlib&quot; using namespace std; int main(){ srand(time(NULL)); setlocale(LC_ALL,...

Реализовать распознание объекта из некоторого множества (расширяемого) на основе вопросов и ответов - C++
Необходимо решить задачу на С++ Реализовать распознание объекта из некоторого множества (расширяемого) на основе вопросов и ответов....

Какой функцией можно реализовать выделение теста на экране? - C++
В лабораторной работе, имеющей название &quot;Функции библиотеки для работы со строками и символами&quot; требуется выполнить эти задания. ...

Создание теста - C++
Нужно написать программу(тест) которая выводит вопрос и 4 варианта ответа, а в конце тестирования кол-во правильных ответов Кто может...

2
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
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;
 
}
1
Nika89
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 5
07.04.2014, 13:56  [ТС] #3
newb_programmer, Это конечно круто я не много понимаю пока что в этом, ну мы это еще не проходили) до массивов не дошли, насчет счетчика я думала это сделать ну пока умения мне пока не позволили сделать. Спасибо большое буду знать что так тоже можно) Мне бы как то по проще это сделать
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2014, 13:56
Привет! Вот еще темы с ответами:

Создание консольного теста: выводит задание и 4 варианта ответа - C++
Дано задание сделать консольный тест на C++, который выводит вопрос и 4 варианта ответа. Вопрос и ответы программа берет из файла. Не...

Как реализовать подсчет периметра забора - C++
Ситуация такая. Реализовать подсчет то не сложно, там тупо арифметика, но не могу понять, какой элемент использовать для последовательного...

Реализовать подсчет числа пи по представленной формуле с измерением времени работы в секундах - C++
Реализовать подсчет числа пи по представленной формуле с измерением времени работы в секундах.

Создание sql-запроса на подсчет среднего балла - C++
Добрый день! Нужно создать запрос на подсчет среднего балла (по строке). Я новичек, работаю с этим впервые, просьба объяснить по-проще. ...


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

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

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