Top.Mail.Ru
Ответы

Помогите добиться работоспособности c++ ч1

Задумка была в меню, где можно выбирать цвет консоли. К сожалению не работает.

123456789101112131415161718192021222324252627
 #include <iostream> 
#include <string> 
#include <clocale> 
#include <cstdlib> 
 
using std::cout; 
using std::cin; 
using std::endl; 
using std::string; 
using std::system; 
 
int main() 
{ 
    setlocale(LC_ALL, "ru_RU.UTF-8"); 
 
    int num; 
    cout << "\t \tДобро пожаловать в меню выбора цвета!\n"; 
    cout << "0 = Черный \t \t \t 8 = Серый\n"; 
    cout << "1 = Синий \t \t \t 9 = Голубой\n"; 
    cout << "2 = Зеленый \t \t \t A = Светло-зеленый\n"; 
    cout << "3 = Бирюзовый \t \t \t B = Светло-бирюзовый\n"; 
    cout << "4 = Красный \t \t \t C = Светло-красный\n"; 
    cout << "5 = Фиолетовый \t \t \t D = Светло-фиолетовый\n"; 
    cout << "6 = Желтый \t \t \t E = Светло-желтый\n"; 
    cout << "7 = Белый \t \t \t F = Ярко-белый" << endl; 
    cout << "Введите выбраный вариант(Буквы вводите большими!): "; 
    cin >> num;  
По дате
По рейтингу
Аватар пользователя
Высший разум
2мес
12345678910111213141516171819202122232425
 #include <cstdlib> 
#include <iostream> 
#include <string>

using namespace std;

void set_console_color(char text, char background) { 
    system((string("color ") + background + text).c_str()); 
}

char set_color(const char* prompt) { 
    cout << prompt; 
    char value; 
    cin >> value; 
    cin.ignore(0x1000, '\n'); 
    return value; 
}

int main() { 
    system("chcp 1251 > nul"); 
    auto txt = set_color("Цвет текста: "); 
    auto bgc = set_color("Цвет фона: "); 
    set_console_color(txt, bgc); 
    system("pause > nul"); 
} 
Аватар пользователя
Просветленный
2мес

Ну разумеется - у тебя нету кода, который меняет цвета консоли.
Обычно это делается командой color в консоли. Команду консоли можешь вызвать при помощи system