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

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

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

Программа "Тест" - C++

21.11.2012, 03:00. Просмотров 533. Ответов 4
Метки нет (Все метки)

Доброго времени суток...
Задание получил вот такое..
"Написать программу - Тест по истории. Программа задает пользователю вопрос, на который пользователь отвечает. После 3х неудачных ответов, программа задает следующий вопрос. Тест должен состоять из 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
 
void main ()
{
int q=0,w=0,r=0,t=0;
string st ("otvet");
string a;
cout<<"vopros1?"<<endl;
cin>>a;
while (st!=a)
{
q++;
cout<<"vopros1?"<<endl;
cin>>a;
if(q==2){break;}}
 
string st1 ("otvet");
string b;
cout<<"vopros2?"<<endl;
cin>>b;
while (st1!=b)
{
w++;
cout<<"vopros2?"<<endl;
cin>>b;
if(w==2){break;}}
 
string st2 ("otvet");
string c;
cout<<"vopros3?"<<endl;
cin>>c;
while (st2!=c)
{
r++;
cout<<"vopros3?"<<endl;
cin>>c;
if(r==2){break;}}
 
string st3 ("otvet");
string d;
cout<<"vopros4?"<<endl;
cin>>d;
while (st3!=d)
{
t++;
cout<<"vopros4?"<<endl;
cin>>d;
if(t==2){break;}}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2012, 03:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа "Тест" (C++):

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Программа "Тест по истории" - C++
Помогите написать тест по истории. На экране появляется вопрос и 4 варианта ответа на этот вопрос Вопросы появляются последовательно ...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Что означает "Программа "[4872] laba!.exe: Машинный код" завершилась с кодом 3 (0x3)."? - C++
при запуске кода компилятор пишет &quot;Программа &quot; laba!!!!!!.exe: Машинный код&quot; завершилась с кодом 3 (0x3).&quot; и появляется окошечко с ошибкой....

Как сделать, так чтобы i и j можно было вводить самому "i" И "j" в цикле, есть программа - C++
#include &lt;iostream&gt; using namespace std; int main() {int a=0,b=0; int i=0; cout&lt;&lt;&quot;Vvedite i=&quot;&lt;&lt;endl; cin&gt;&gt;i; ...

что дальше? (программа вводит информацию из ведомости и печатает фамилии студентов, учащихся на "4". "5" и их процентное соотношение с другими) - C++
Ведомость о результатах зимней сессии содержит информацию: фамилия и инициалы студента, номер группы, оценки с 3-х предметов: а)...

4
ps10n1ck
54 / 48 / 2
Регистрация: 10.11.2010
Сообщений: 132
21.11.2012, 05:27 #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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <iostream>
#include <string>
 
using std::cin;
using std::cout;
using std::endl;
using std::string;
 
typedef unsigned int uint;
 
int main(){
 
// всего вопросов
const uint nTotalQuestions = 4;
 
// динамическое выделение памяти под вопросы
string *pQuestions = new string[nTotalQuestions];
// динамическое выделение памяти под ответы
string *pAnswers = new string[nTotalQuestions];
// ответ
string Answer;
 
// рейтинг пользователя
uint nRating = 0;
 
// максимальное кол. очков за правильный ответ
const uint nMaxPointsPerQuestion = 3;
 
// кол. попыток для ответа на вопрос
const uint nTotalAttemptsPerQuestion = 3;
 
// инициализация вопросов (тут вписываешь свои вопросы)
pQuestions[0] = "Question 1";
pQuestions[1] = "Question 2";
pQuestions[2] = "Question 3";
pQuestions[3] = "Question 4";
 
// инициализация ответов (тут вписываешь свои ответы)
pAnswers[0] = "Answer1";
pAnswers[1] = "Answer2";
pAnswers[2] = "Answer3";
pAnswers[3] = "Answer4";
 
// счетчик вопросов
uint nQuestionCounter = 0;
// счетчик ответов
uint nAnswerCounter;
 
// начинаем задавать вопросы
while(nQuestionCounter < nTotalQuestions){
    // выводим вопрос
    cout << pQuestions[nQuestionCounter] << endl;
 
    // для каждого вопроса обновляем счетчик ответов
    nAnswerCounter = 0;
    // цикл ответов
    while(nAnswerCounter < nTotalAttemptsPerQuestion){
        // вводим ответ
        cout << "Enter your answer: ";
        cin >> Answer;
        // если ответ верный, прибавляем кол. рейтинга 
        // (алгоритм можешь придумать свой)
        // и завершаем цикл ввода ответов на данный вопрос
        if(pAnswers[nQuestionCounter] == Answer){
            nRating += (nMaxPointsPerQuestion - nAnswerCounter);
            break;
        }
        ++nAnswerCounter;
    }
    cout << endl;
    ++nQuestionCounter;
}
 
// вывод рейтинга
cout << "Your rating: " << nRating << endl;
 
// удаляем память выделенную под вопросы и ответы
delete [] pAnswers;
delete [] pQuestions;
return 0;
}
1
Paradox10
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 42
21.11.2012, 14:09  [ТС] #3
ps10n1ck , а не мог бы ты объяснить,как ты сделал именно рейтинг ??? Своими словами, или построчно...Я просто только учусь))) И код написанный тобой, с трудом прочитал))))

p.s сам алгоритм не вижу в коде...
0
ps10n1ck
54 / 48 / 2
Регистрация: 10.11.2010
Сообщений: 132
21.11.2012, 14:50 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
while(nAnswerCounter < nTotalAttemptsPerQuestion){
        // вводим ответ
        cout << "Enter your answer: ";
        cin >> Answer;
        // если ответ верный, прибавляем кол. рейтинга 
        // (алгоритм можешь придумать свой)
        // и завершаем цикл ввода ответов на данный вопрос
        if(pAnswers[nQuestionCounter] == Answer){
            nRating += (nMaxPointsPerQuestion - nAnswerCounter);
            break;
        }
        ++nAnswerCounter;
    }
запускаем цикл проверки ответов, далее вводим ответ и сохраняем его в Answer, после делаем проверку ответа, если ответ верный - считаем сам рейтинг:
C++
1
nRating += (nMaxPointsPerQuestion - nAnswerCounter);
тут ничего сложного, просто берется максимальное кол. балов за правильный ответ(в самом начале кода задается) и отнимается по 1 баллу за каждую попытку, если попытка первая, то просто отнимается 0 - ничего не меняется. Это самый простой рейтинг, можно выдумать какой угодно, но смысл будет тот же, просто добавятся прочие вычисления.
C++
1
2
3
nRating += (nMaxPointsPerQuestion - nAnswerCounter);
это то же самое, что и 
nRating = nRating + (nMaxPointsPerQuestion - nAnswerCounter);
nRating - рейтинг, который хранит просто сумму баллов, которые считаются в цикле вопросов
C++
1
2
3
while(nQuestionCounter < nTotalQuestions){
.....
}
1
Paradox10
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 42
21.11.2012, 14:55  [ТС] #5
ps10n1ck - Вот теперь все понятно..Огромное тебе спасибо..)
0
21.11.2012, 14:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2012, 14:55
Привет! Вот еще темы с ответами:

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс &quot;вентилятор&quot; содержащий в себе классы:...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата" - C++
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в программе ввести в массив данные и...


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

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

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