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

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

Войти
Регистрация
Восстановить пароль
 
FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 177
#1

Сделать тесты небольшие - C++

26.02.2014, 17:50. Просмотров 359. Ответов 9
Метки нет (Все метки)

Вот вообщем код который задает значения и нужно вписать ответ и если правильно пишет правильно если нет пишет нет и пишет ответ:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
    srand(time(0));
    setlocale(LC_ALL, "rus");
    int num1, num2, result;
    num1 = rand() % 8 + 2;
    num2 = rand() % 8 + 2;
    cout << "Сколько будет?\n" << num1 << " * " << num2 << " = ";
    cin >> result;
    if (result == num1*num2)
        cout << "Правильно!\n";
    else
        cout << "Не правильно! " << num1 << "*" << num2 << "=" << num1*num2 << "\n";
    system("pause");
    return 0;
}
Нужно сделать что бы вопросы не повторялись

Сделать что бы это было тестом, тоесть задается первый вопрос пишем ответ, после этого 2 вопрос пишем ответ, ну и допустим 5 тестов, пишем ответы, и в конце показывает сколько правильных ответов и сколько не правильных, и те что не правильные показать и написать правильный ответ
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2014, 17:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сделать тесты небольшие (C++):

Небольшие вопросы - C++
Одномерный массив 1. Передвинуть элементы равные 0 в конец массива 2. Поменять местами массив, т.е. был 3 5 -9 0 1, стал 1 0 -9 5 3 ...

2 небольшие функции - C++
Обьясните пожалуйста о чем написанно в этих двух функциях. Спасибо. int power(int a, int b, int n){// a^b mod n int tmp=a; ...

Небольшие изменение в коде - C++
Всем привет, у меня есть программка которая находит корни методом хорд. Я её скачал. По началу она выводила ответ сразу после запуска...

Небольшие задачи с массивами - C++
Доброго времени суток.Изучаю массивы,пытаюсь решить задачи.Написал,но не выходит.Нужен совет. 1)В массиве A из N элементов определить...

switch есть небольшие затруднения - C++
Есть программа #include &lt;windows.h&gt; #include &lt;iostream.h&gt; int main() { char *ch; cout&lt;&lt;&quot;Enter ab,asd,voro or...

требуется написать небольшие программки - C++
требуется написать небольшие программки. Вот, например, одно задание: 1. Распечатать самое длинное и самое короткое слово из строчки,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
26.02.2014, 17:55 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int buf=0;
while(buf<5)
{
num1 = rand() % 8 + 2;
    num2 = rand() % 8 + 2;
    cout << "Сколько будет?\n" << num1 << " * " << num2 << " = ";
    cin >> result;
    if (result == num1*num2)
        cout << "Правильно!\n";
    else
        cout << "Не правильно! " << num1 << "*" << num2 << "=" << num1*num2 << "\n";
buf++;
}
0
FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 177
26.02.2014, 17:59  [ТС] #3
Amandosov, а как теперь сделать что бы ответ был не после каждого вопроса а в конце? и что бы в конце ответы показывало только к не правильным ответам, и показывало сколько правильных ответов. Я думаю через массивы надо сделать, но не знаю точно как...массивы только начал учить
0
Тамика
Котовчанин
870 / 450 / 143
Регистрация: 16.02.2010
Сообщений: 2,978
Записей в блоге: 27
26.02.2014, 18:14 #4
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
int main()
{
 
    srand(time(0));
    setlocale(LC_ALL, "rus");
    int count = 5;
    int neg_answ = 0, pos_answ = 0;
    while (count > 0)
    {
        int num1, num2, result;
        num1 = rand() % 8 + 2;
        num2 = rand() % 8 + 2;
        std::cout << "Сколько будет?\n" << num1 << " * " << num2 << " = ";
        std::cin >> result;
        if (result == num1*num2)
        {
            std::cout << "Правильно!\n";
            ++pos_answ;
        }
        else
        {
            std::cout << "Не правильно! " << num1 << "*" << num2 << "=" << num1*num2 << "\n";
            ++neg_answ;
        }
        --count;
    }
    std::cout << "Правильных ответов  " << pos_answ << "\n";
    std::cout << "Неправильных ответов  " << neg_answ << "\n";
    system("pause>>null");
    return 0;
}
Добавлено через 25 секунд
Цитата Сообщение от FIN7 Посмотреть сообщение
Amandosov, а как теперь сделать что бы ответ был не после каждого вопроса а в конце? и что бы в конце ответы показывало только к не правильным ответам, и показывало сколько правильных ответов. Я думаю через массивы надо сделать, но не знаю точно как...массивы только начал учить
Это там не реализовано ещё.

Добавлено через 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
int main()
{
 
    srand(time(0));
    setlocale(LC_ALL, "rus");
    int count = 5;
    std::string *neg_answ = new std::string[5];
    std::string *pos_answ = new std::string[5];
    int pos = 0, neg = 0, i = 0, j = 0;
    while (count > 0)
    {
        int num1, num2, result;
        num1 = rand() % 8 + 2;
        num2 = rand() % 8 + 2;
        std::cout << "Сколько будет?\n" << num1 << " * " << num2 << " = ";
        std::cin >> result;
        if (result == num1*num2)
        {
            std::cout << "Правильно!\n";
            ++pos;
        }
        else
        {
            std::cout << "Не правильно! ";// << num1 << "*" << num2 << "=" << num1*num2 << "\n";
            ++neg;
            std::string temp1, temp2, result;
            std::stringstream ss1;
            ss1 << num1;
            ss1 >> temp1;
            std::stringstream ss2;
            ss2 << num2;
            ss2 >> temp2;
            std::stringstream ss3;
            ss3 << num2*num1;
            ss3 >> result;
            neg_answ[i] = std::string ("Правильный ответ выражения " + temp1 + "*" + temp2 + " это " + result);
            ++i;
        }
        --count;
    }
    std::cout << "Правильных ответов  " << pos << "\n";
    std::cout << "Неправильных ответов  " << neg << "\n";
    for (int i = 0; i < neg; ++i)
        std::cout << neg_answ[i] << "\n";
    system("pause>>null");
    return 0;
}
Добавлено через 2 минуты
Только там нужно удалить пару ненужных переменных.
C++
1
    std::string *pos_answ = new std::string[5];
и
C++
1
j = 0;
1
FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 177
26.02.2014, 18:19  [ТС] #5
А как сделать что бы не повторялось?
0
Изображения
 
Тамика
Котовчанин
870 / 450 / 143
Регистрация: 16.02.2010
Сообщений: 2,978
Записей в блоге: 27
26.02.2014, 18:20 #6
А хз. У меня ничего не повторяется с тем же кодом. о_О
Я ещё долго думала, что у Вас там повторяется. У меня все вопросы разные.
0
FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 177
26.02.2014, 18:23  [ТС] #7
Тамика, щас исправлю..понял уже вроде бы
0
Тамика
Котовчанин
870 / 450 / 143
Регистрация: 16.02.2010
Сообщений: 2,978
Записей в блоге: 27
26.02.2014, 18:23 #8
Сделать тесты небольшие
0
FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 177
26.02.2014, 23:04  [ТС] #9
Тамика, почему ошибку выдает?
0
Миниатюры
Сделать тесты небольшие  
Тамика
Котовчанин
870 / 450 / 143
Регистрация: 16.02.2010
Сообщений: 2,978
Записей в блоге: 27
27.02.2014, 11:33 #10
А хидерок кто будет включать?
#icnlude <sstream>
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2014, 11:33
Привет! Вот еще темы с ответами:

Разработка двоичного калькулятора (небольшие недочеты) - C++
Добрый вечер форумчане! Прошу помощи в описании некоторой части кода. Исходное задание: Необходимо создать двоичный калькулятор,...

Помогите написать две небольшие программы по блок схемам - C++
Помогите написать две небольшие программы по блок схемам для уравнения X^3+3X^2+6X-1=0 1.Метод простой итерации 2.Метод Хорд

Бесплатно писать программы для студентов (лабы, небольшие курсовики) - C++
Готов написать программы для ленивых студентов. В свое свободное время буду их писать. Без какой либо коммерции, мне просто нужен...

тесты - C++
Дано: int a; .Что означает следующая запись a; : обращение к первому элементу массива; обращение к адресу первого элемента...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.02.2014, 11:33
Ответ Создать тему
Опции темы

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