Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/58: Рейтинг темы: голосов - 58, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 17.06.2015
Сообщений: 7
1

"Кто хочет стать миллионером?" на языке C++

17.06.2015, 00:58. Просмотров 10503. Ответов 5
Метки нет (Все метки)

Здравствуйте. Недавно писал игру "Кто хочет стать миллионером?" в текстовом варианте на языке C++ по структуре switch. Проблема в том, что если пользователь вводит неправильный ответ на заданный вопрос (к примеру: правильный ответ c, а пользователь ввёл а) или его ввод некорректен (случайная буква или цифра), то игра должна завершаться. У меня же она продолжается независимо от того, правильно или нет я ответил на вопрос. ВОТ исходник:

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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
// ConsoleApplication1.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <clocale>
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    using namespace std;
 
    setlocale(LC_ALL, "Russian");
 
    cout << "Добро пожаловать в упрощённый вариант игры \n\"Кто хочет стать миллионером\?\"!";
    cout << "\n\nДля начала прочитайте правила из файла readme.txt, прилагающегося к игре.\n";
    cout << "\n\nНу что, погнали! =-)";
    
    char ex1;
    char ex2;
    char ex3;
    char ex4;
    char ex5;
    
    cout << "\n\nКто открыл социальную сеть \"ВКонтакте\"?";
    cout << "\na) Билл Гейтс ";
    cout << "\nb) Марк Цукерберг ";
    cout << "\nc) Павел Дуров\n";
    cin >> ex1;
 
    switch (ex1) {
    case 'a': cout << "\nНеправильно. Правильный ответ - c. Вы проиграли! =-(\n";
        break;
                exit(0);
    case 'b': cout << "\nНеправильно. Правильный ответ - c. Вы проиграли! =-(\n";
        break;
                exit(0);
    case 'c': cout << "\nВерно. Переходим к следующему вопросу:";
        break;
    default: cout << "\nВы дисквалифицированы за нарушение правил! =-((";
        break;
        exit(0);
    }
    cout << "\n\nКакой твердотельный накопитель является самым быстрым на данный момент?";
    cout << "\na) USB 3.0 Flash-накопитель ";
    cout << "\nb) Жёсткий диск SSD ";
    cout << "\nc) Стандартный жёсткий диск SATA \n";
    cin >> ex2;
 
    switch (ex2) {
     case 'a': cout << "\nНеправильно. Правильный ответ - b. Вы проиграли! =-(\n";
         break;
         exit(0);
     case 'b': cout << "\nВерно. Переходим к следующему вопросу: ";
        break;
     case 'c': cout << "\nНеправильно. Правильный ответ - b. Вы проиграли! =-(\n";
         break;
         exit(0);
     default: cout << "\nВы дисквалифицированы за нарушение правил! =-((";
        break;
        exit(0);
    }
    cout << "\n\nЗаражение системного файла hosts - это: ";
    cout << "\na) Физическое повреждения железа PC ";
    cout << "\nb) Увеличение объёма исполняемых файлов ";
    cout << "\nc) Замена зайтов и кража паролей\n";
    cin >> ex3;
 
    switch (ex3){
     case 'a': cout << "\nНеправильно. Правильный ответ - c. Вы проиграли! =-(\n";
        break;
        exit(0);
     case 'b': cout << "\nНеправильно. Правильный ответ - c. Вы проиграли! =-(\n";
         break;
         exit(0);
     case 'c': cout << "\nВерно. Переходим к следующему вопросу: ";
         break;
    default: cout << "\nВы дисквалифицированы за нарушение правил! =-((";
        break;
        exit(0);
    }
    cout << "\n\nСистемный блок, монитор, мышь, клавиатура, принтер:\nперечислите необязательное устройство:";
    cout << "\na) Принтер, мышь ";
    cout << "\nb) Принтер ";
    cout << "\nc) Клавиатура\n";
    cin >> ex4;
 
    switch (ex4){
     case 'a': cout << "Верно. Периходим к последнему вопросу: ";
        break;
     case 'b': cout << "\nНеправильно. Правильный ответ - a. Вы проиграли! =-(\n";
         break;
         exit(0);
     case 'c': cout << "\nНеправильно. Правильный ответ - a. Вы проиграли! =-(\n";
         break;
         exit(0);
     default: cout << "\nВы дисквалифицированы за нарушение правил! =-((";
         break;
         exit(0);
    }
    cout << "\n\n\"Файл подкайчи\" - это: \n";
    cout << "\na) Файл, увеличивающий объём жесткого диска";
    cout << "\nb) Файл, увеличивающий объём оперативной памяти за счёт снижения её быстродействия";
    cout << "\nc) Файл, увеличивающий скорость соединения с Интернетом";
    cin >> ex5;
    
    switch (ex5){
    case 'a': cout << "\nНеправильно. Правильный ответ - b. Вы проиграли! =-(\n";
        break;
        exit(0);
    case 'b': cout << "\nВы ответили правильно на все вопросы!";
        break;
    case 'c': cout << "\nНеправильно. Правильный ответ - b. Вы проиграли! =-(\n";
        break;
        exit(0);
    default: cout << "\nВы дисквалифицированы за нарушение правил! =-((";
        break;
        exit(0);
    }
    cout << "\n\nПоздравляю, Вы прошли игру!! =-))\n" << endl;
}
P.S. Оператор exit(0) вообще не действует, ощущение как будто его там тупо нет. С retur'ном тоже самое. Что туда надо вставить?.. Заранее благодарен!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2015, 00:58
Ответы с готовыми решениями:

Создать игру "Кто хочет стать миллионером" на языке С++ пожалуйста
Создать игру &quot;Кто хочет стать миллионером&quot; на языке С++ пожалуйста

Несколько вопросов в написании "Кто хочет стать миллионером"
Доброй ночи, подскажите пожалуйста как мне реализовать подсказки? т.е код я написал а вот как...

Текстовая игра "Кто хочет стать миллионером?" с использованием классов
Нужно создать игру кто хочет стать миллионером. С 2 подсказками 50 на 50 и помощью зала.

Создание программы наподобие игры "кто хочет стать миллионером"
А возможно ли создать программу которая например выдает вопрос из 100 рандомно и 4 варианта ответа...

5
Модератор
Эксперт по электронике
8318 / 6171 / 828
Регистрация: 14.02.2011
Сообщений: 21,432
17.06.2015, 01:00 2
Цитата Сообщение от PacanPaul Посмотреть сообщение
Оператор exit(0) вообще не действует,
еще бы он действовал бряк перед ним убери
0
42 / 40 / 47
Регистрация: 13.05.2015
Сообщений: 222
17.06.2015, 01:01 3
Цитата Сообщение от PacanPaul Посмотреть сообщение
P.S. Оператор exit(0) вообще не действует, ощущение как будто его там тупо нет. С retur'ном тоже самое. Что туда надо вставить?.. Заранее благодарен!
Поставьте его до оператора break в каждом case...
0
1362 / 586 / 198
Регистрация: 02.08.2011
Сообщений: 2,880
17.06.2015, 01:03 4
ну так после break ставишь, а там он бесполезен, попробуй перед break; а лучше вместо break , потому как тогда break бесполезным будет
0
Модератор
Эксперт по электронике
8318 / 6171 / 828
Регистрация: 14.02.2011
Сообщений: 21,432
17.06.2015, 01:05 5
Цитата Сообщение от PacanPaul Посмотреть сообщение
Какой твердотельный накопитель является самым быстрым на данный момент?";
твердотельный в этом списке всего один
Цитата Сообщение от PacanPaul Посмотреть сообщение
Замена зайтов и кража паролей\n"
ой ли
Цитата Сообщение от PacanPaul Посмотреть сообщение
nСистемный блок, монитор, мышь, клавиатура, принтер:\nперечислите необязательное устройство:";
сейчас какой комп имелся ввиду? консоль ввода вывода?
Цитата Сообщение от PacanPaul Посмотреть сообщение
Файл, увеличивающий объём оперативной памяти за счёт снижения её быстродействия";
физику процесса объясни
0
0 / 0 / 0
Регистрация: 17.06.2015
Сообщений: 7
17.06.2015, 02:33  [ТС] 6
Ребят, спасибо Вам большое за помощь! Вроде бы одна мелкая отсечка, не замечаемая одним и тем же программистом может нарушить работу всей программы (в моём случае это игра и весь интерес бы к ней отпадал)... Еще раз благодарю!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.06.2015, 02:33

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Подсказки "Кто хочет стать миллионером"
Здравствуйте, подскажите пожалуйста как мне реализовать подсказки? т.е код я написал а вот как...

Игра "кто хочет стать миллионером?"
Люди, если не жалко плз выложите код данной игры, если завалялся у кого нибудь...

пожалуйста, мне надо сделать некое подобия игры Кто хочет стать миллионером?
если у кого-нибудь есть что-то подобное, скиньте пожалуйста, причем желательно если сделано без...

пожалуйста, мне надо сделать некое подобия игры Кто хочет стать миллионером?
если у кого-нибудь есть что-то подобное, скиньте пожалуйста


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

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

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