Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 1
Регистрация: 27.03.2018
Сообщений: 34

Не меняется цвет

21.10.2018, 10:23. Показов 2033. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! В файле color.cpp через несколько блоков if описано изменение цвета консоли. Компилируется и запускается без ошибок, но при выборе цвета он не меняется. По поводу if - map пока не изучил, а switch не работает.
PS. Отдельный файл для псевдо графики пока не создал.
PS-2. Более опытные программисты, извините за говно-код, я пока только учусь.
main.cpp
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
#include <string>
#include <iostream>
#include <cstdlib>
//для считывания с клавиатуры
#include <conio.h>
//своя библиотека изменения цвета
#include "color.h"
using namespace std;
 
//языковое состояние
string launh;
//переменные для обозначения состояния
 double happy = 50.000, eat = 50.000, toalet = 50.000, sleep = 50.000, money = 0;
 
//количество столбцов в массиве
 const int width = 72;
 
//количество строк в массиве
 const int height = 15;
 
 void draw(char a[][width]) {
      system("cls");
 
     cout << "happy(h), eat(e), toalet(t) or sleep(s)" << endl;
     cout << "money+ press w" << endl;
 
     //отображение кота
     cout << a[0] << endl;
     cout << a[1] << endl;
     cout << a[2] << endl;
     cout << a[3] << endl;
     cout << a[4] << endl;
     cout << a[5] << endl;
     cout << a[6] << endl;
     cout << a[7] << endl;
     cout << a[8] << endl;
     cout << a[9] << endl;
     cout << a[10] << endl;
     cout << a[11] << endl;
     cout << a[12] << endl;
     cout << a[13] << endl;
     cout << a[14] << endl;
 
 
       cout << endl;
       cout << "Happy: " << happy << endl;
       cout << "Eat: " << eat << endl;
       cout << "Toalet: " << toalet << endl;
       cout << "Sleep: " << sleep << endl;
       cout << "Money: " << money << endl;
 
  //уменьшение показателей
     if(happy >= 0) {
        happy = happy - 0.04;
     }
     if(eat >= 0) {
        eat = eat - 0.02;
     }
     if(toalet >= 0) {
        toalet = toalet - 0.01;
     }
     if(sleep >= 0) {
        sleep = sleep - 0.01;
     }
 
 
 
    }
 
 void cat(int score1) {
    int asd = 0;
    //массивы для анимации
    char map[height][width] = {
"#######################################################################",
"#                                                                     #",
"#      ###########################                                    #",
"#      #                 #       #         #                          #",
"#      #                 ##      #        ##                          #",
"#      #                 # ############### #                          #",
"# ##   #                #                   #                         #",
"#   ####               #     ##        ##    #                        #",
"#      #               #           #         #                        #",
"#      #               #                     #                        #",
"#      #                #    #   #   #      #                         #",
"#      ###################    #######      #                          #",
"#     ##   ##             #################                           #",
"#    ##    ##               ##       ##                               #",
"######################################################################"
       };
 
 
 
 
    char qmap[height][width] = {
"#######################################################################",
"#                                                                     #",
"#      ###########################                                    #",
"#      #                 #       #         #                          #",
"#      #                 ##      #        ##                          #",
"#      #                 # ############### #                          #",
"# ##   #                #                   #                         #",
"#   ####               #      ##        ##   #                        #",
"#      #               #           #         #                        #",
"#      #               #                     #                        #",
"#      #                #    #   #   #      #                         #",
"#      ###################    #######      #                          #",
"#     ##   ##             #################                           #",
"#    ##    ##               ##       ##                               #",
"######################################################################"
       };
 
 
 
 
    char wmap[height][width] = {
"#######################################################################",
"#                                                                     #",
"#      ###########################                                    #",
"#      #                 #       #         #                          #",
"#      #                 ##      #        ##                          #",
"#      #                 # ############### #                          #",
"# ##   #                #                   #                         #",
"#   ####               #    ##        ##     #                        #",
"#      #               #           #         #                        #",
"#      #               #                     #                        #",
"#      #                #    #   #   #      #                         #",
"#      ###################    #######      #                          #",
"#     ##   ##             #################                           #",
"#    ##    ##               ##       ##                               #",
"######################################################################"
       };
 
 
 
 
    char emap[height][width] = {
"#######################################################################",
"#                                                                     #",
"#      ###########################                                    #",
"#      #                 #       #         #                          #",
"#      #                 ##      #        ##                          #",
"#      #                 # ############### #                          #",
"# ##   #                #                   #                         #",
"#   ####               #     __        __    #                        #",
"#      #               #           #         #                        #",
"#      #               #                     #                        #",
"#      #                #    #   #   #      #                         #",
"#      ###################    #######      #                          #",
"#     ##   ##             #################                           #",
"#    ##    ##               ##       ##                               #",
"######################################################################"
       };
   //для моргающих глаз
   switch(score1) {
     case 0:
      for(int a=0;a<=10;a++) {
      draw(map);
      }
      break;
     case 1:
      for(int b=0;b<=10;b++) {
      draw(qmap);
      }
      break;
     case 2:
      for(int c=0;c<=10;c++) {
      draw(wmap);
      }
      break;
     case 3:
      for(int d=0;d<=10;d++) {
      draw(emap);
      }
      break;
     }
 
    }
 
 
//считывание нажатий
void qwerty() {
string pit;
//при маленьких показателях или действиях
 
 char toilets[height][width] = {
"#######################################################################",
"#                                                                     #",
"#      ###########################               @     @              #",
"#      #                 #       #         #        @                 #",
"#      #                 ##      #        ##    @     @               #",
"#      #                 # ############### #      @                   #",
"# ##   #                #                   #       @                 #",
"#   ####               #     ##        ##    # @                      #",
"#      #               #           #         #     @  Fuu-fuu         #",
"#      #               #                     #                        #",
"#      #                #    #   #   #      #                         #",
"#      ###################    #######      #                          #",
"#     ##   ##             #################                           #",
"#    ##    ##               ##       ##                               #",
"######################################################################"
       };
 
 char sleeps[height][width] = {
"#######################################################################",
"#                                                                     #",
"#      ###########################                                    #",
"#      #                 #       #         #                Zzzz      #",
"#      #                 ##      #        ##      Z-z-z-z             #",
"#      #                 # ############### #                          #",
"# ##   #                #                   #                         #",
"#   ####               #     ##        ##    #         Z-z-z          #",
"#      #               #           #         #                        #",
"#      #               #                     #                        #",
"#      #                #    #   #   #      #                         #",
"#      ###################    #######      #                          #",
"#     ##   ##             #################                           #",
"#    ##    ##               ##       ##                               #",
"######################################################################"
       };
 
  //действия в зависимости от нажатия клавиши
   if (_kbhit()) {
     switch (_getch())
     {
     case 'h': case 'H':
        if(happy <= 50.000) {
        happy = happy + 1.0;
 
        }
        break;
     case 'e': case 'E':
        if(eat <= 50.000) {
 
            cout << "cake(75 money - eat+9)" << endl;
            cout << "pizza(50 money - eat+4)" << endl;
            cout << "kitekat(20 money - eat+2)" << endl;
            cout << "water(10 money - eat+1)" << endl;
            cin >> pit;
            if(pit == "cake") {
                money = money - 75.0;
                eat = eat + 9.0;
            }
            if(pit == "pizza") {
                money = money - 50.0;
                eat = eat + 4.0;
            }
            if(pit == "kitekat") {
                money = money - 20.0;
                eat = eat + 2.0;
            }
            if(pit == "water") {
                money = money - 10.0;
                eat = eat + 1.0;
            }
 
 
         }
 
        break;
     case 't': case 'T':
        if(toalet <= 50.000) {
        toalet = toalet + 1.0;
        eat = eat - 0.002;
        for(int b=0;b<=5;b++) {
        draw(toilets);
         }
        }
        break;
     case 's': case 'S':
        if(sleep <= 50.000) {
        sleep = sleep + 1.0;
        for(int c=0;c<=5;c++) {
        draw(sleeps);
         }
        }
        break;
    case 'w': case 'W':
        if(happy <= 50.000 && happy >= 0) {
          if(eat <= 50.000 && eat >= 0) {
            if(toalet <= 50.000 && toalet >= 0) {
              if(sleep <= 50.000 && sleep >= 0) {
        money = money + 1;
        sleep = sleep - 0.6;
        eat = eat - 0.1;
           }
          }
         }
        }
        break;
     }
   }
}
 
 
 
 
  int main(int argc, char *argv[]) {
 //цвет в консоли
  system("color B5");
  double y=0;
  string pos;
  string x = "Color";
  //меню
  cout << "<Game>" << endl;
  cout << "<Setting>" << endl;
  cin >> pos;
  if(pos == "Setting") {
    cout << "Color" << endl;
    cin >> pos;
    if(pos == "Color") {
        color("test");
        cin >> x;
        chance(x);
    }
  }
        //вызов кота и нажатий
        while(y<1.0) {
          for(int j=0; j<=3; j++) {
            cat(j);
            qwerty();
           }
         }
 
  system("pause>nul");
  return 0;
}


color.cpp
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
#include <iostream>
#include "color.h"
#include <string>
#include <Windows.h>
using namespace std;
void color(string op) {
   cout << "the first letter sets the background color," << endl;
   cout << "and the second digit sets the foreground" << endl;
   cout << "color (font color). Example: bright white black" << endl;
   cout << "(set white background and black text)" << endl;
   cout << "0 — black" << endl;
   cout << "1 — blue" << endl;
   cout << "2 — green" << endl;
   cout << "3 — azure" << endl;
   cout << "4 — red" << endl;
   cout << "5 — purple" << endl;
   cout << "6 — yellow" << endl;
   cout << "7 — white" << endl;
   cout << "8 — gray" << endl;
   cout << "9 — light blue" << endl;
   cout << "A — light green" << endl;
   cout << "B — light azure" << endl;
   cout << "С — light red" << endl;
   cout << "E — light yellow" << endl;
   cout << "F — bright white" << endl;
  }
  void chance(string x) {
    if(x == "light green black") {
    system("color A0");
    }
    if(x == "light green blue") {
    system("color A1");
    }
    if(x == "light green green") {
    system("color A2");
    }
    if(x == "light green azure") {
    system("color A3");
    }
    if(x == "light green red") {
    system("color A4");
    }
    if(x == "light green purple") {
    system("color A5");
    }
    if(x == "light green yellow") {
    system("color A6");
    }
    if(x == "light green white") {
    system("color A7");
    }
    if(x == "light green gray") {
    system("color A8");
    }
    if(x == "light green light blue") {
    system("color A9");
    }
    if(x == "light azure black") {
    system("color B0");
    }
    if(x == "light azure blue") {
    system("color B1");
    }
    if(x == "light azure green") {
    system("color B2");
    }
    if(x == "light azure azure") {
    system("color B3");
    }
    if(x == "light azure red") {
    system("color B4");
    }
    if(x == "light azure purple") {
    system("color B5");
    }
    if(x == "light azure yellow") {
    system("color B6");
    }
    if(x == "light azure white") {
    system("color B7");
    }
    if(x == "light azure gray") {
    system("color B8");
    }
    if(x == "light azure light blue") {
    system("color B9");
    }
    if(x == "light red black") {
    system("color C0");
    }
    if(x == "light red blue") {
    system("color C1");
    }
    if(x == "light red green") {
    system("color C2");
    }
    if(x == "light red azure") {
    system("color C3");
    }
    if(x == "light red red") {
    system("color C4");
    }
    if(x == "light red purple") {
    system("color C5");
    }
    if(x == "light red yellow") {
    system("color C6");
    }
    if(x == "light red white") {
    system("color C7");
    }
    if(x == "light red gray") {
    system("color C8");
    }
    if(x == "light red light blue") {
    system("color C9");
    }
    if(x == "light yellow black") {
    system("color E0");
    }
    if(x == "light yellow blue") {
    system("color E1");
    }
    if(x == "light yellow green") {
    system("color E2");
    }
    if(x == "light yellow azure") {
    system("color E3");
    }
    if(x == "light yellow red") {
    system("color E4");
    }
    if(x == "light yellow purple") {
    system("color E5");
    }
    if(x == "light yellow yellow") {
    system("color E6");
    }
    if(x == "light yellow white") {
    system("color E7");
    }
    if(x == "light yellow gray") {
    system("color E8");
    }
    if(x == "light yellow light blue") {
    system("color E9");
    }
    if(x == "bright white black") {
    system("color F0");
    }
    if(x == "bright white blue") {
    system("color F1");
    }
    if(x == "bright white green") {
    system("color F2");
    }
    if(x == "bright white azure") {
    system("color F3");
    }
    if(x == "bright white red") {
    system("color F4");
    }
    if(x == "bright white purple") {
    system("color F5");
    }
    if(x == "bright white yellow") {
    system("color F6");
    }
    if(x == "bright white white") {
    system("color F7");
    }
    if(x == "bright white gray") {
    system("color F8");
    }
    if(x == "bright white light blue") {
    system("color F9");
    }
}

color.h
C++
1
2
3
4
5
6
7
#include <string>
#ifndef COLOR_H_INCLUDED
#define COLOR_H_INCLUDED
using namespace std;
void color(string op);
void chance(string x);
#endif // COLOR_H_INCLUDED
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.10.2018, 10:23
Ответы с готовыми решениями:

Не меняется цвет!
Здравствуйте! Есть Базой класс Shape, через который устанавливается цвет фигуры. Классы Circle и Line рисуют соответственно круг и линию и...

Почему не меняется цвет текста?
Не пойму почему не меняется цвет текста? void FuncThread(HWND hWnd) { HDC hdc; hdc = GetDC(hWnd); ...

Почему при изменении размера окна не меняется цвет заполнения?
Почему при изменении размера окна не меняется цвет заполнения?:no: ... case WM_PAINT: ... ... ...

1
Модератор
Эксперт С++
 Аватар для zss
13772 / 10965 / 6491
Регистрация: 18.12.2011
Сообщений: 29,242
21.10.2018, 10:52
Лучший ответ Сообщение было отмечено Dimoooon7519 как решение

Решение

Цитата Сообщение от Dimoooon7519 Посмотреть сообщение
if(x == "light green black") {
Т.е. Вы предполагаете, что переданная строка содержит 3 слова.
Однако
Цитата Сообщение от Dimoooon7519 Посмотреть сообщение
cin >> x;
chance(x);
оператор cin>>x;
введет только одно слово.
Для ввода строки надо использовать
C++
1
getline(cin,x);
p.s. эту ошибку Вы могли бы легко заметить при использовании отладчика
(Как пользоваться отладчиком (в Visual Studio)):
поставив останов после строки cin>>x; и проверив, что же на самом деле ввелось.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.10.2018, 10:52
Помогаю со студенческими работами здесь

Программа взаимодействует с классом исключительно через интерфейс. Однажды класс меняется и меняется его хидер. Надо ли перекомпилировать всю программ
Программа взаимодействует с классом исключительно через интерфейс. Однажды класс меняется и меняется его хидер. Надо ли перекомпилировать...

Написать программу, которая по выбору пользователя меняет цвет консольного приложения. Пользователь может выбрать цвет ш
Написать программу, которая по выбору пользователя меняет цвет консольного приложения. Пользователь может выбрать цвет шрифта и цвет фона....

Написать программу, которая будет определять цвет пикселя под курсором и выводить на экран этот цвет
Хочу написать программу, кот. будет определять цвет пикселя под курсором и выводить на экран этот цвет словом или кодом или как лучше?...

Не меняется цвет
Люди, не понимаю почему не работает код как надо, а надо чтобы по нажатию Enter загорался красный квадрат на 1 секунду. Прошу помощи. ...

Не меняется цвет текста
Делаю таблицу и надо понять цвет названия столбцов вот код &lt;div class=&quot;serves&quot;&gt; &lt;p&gt; &lt;center&gt; &lt;table...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru