#include "stdafx.h"
#include
using namespace std;
/*
8. Написать программу, которая по выбору пользователя меняет
цвет консольного приложения. Пользователь может выбрать цвет
шрифта и цвет фона.
*/
void main() {
setlocale(LC_ALL, "RUSSIAN");
char text, fon;
cout << "0 = Черный\t8 = Серый\n";
cout << "1 = Синий\t9 = Светло - синий\n";
cout << "2 = Зеленый\tA = Светло - зеленый\n";
cout << "3 = Голубой\tB = Светло - голубой\n";
cout << "4 = Красный\tC = Светло - красный\n";
cout << "5 = Лиловый\tD = Светло - лиловый\n";
cout << "6 = Желтый\tE = Светло - желтый\n";
cout << "7 = Белый\tF = Ярко - белый\n\n";
cout << "Введите цвет фона: ";
cin >> fon;
cout << "Введите цвет текста: ";
cin >> text;
switch (fon == text){
case true:{cout << "Невозможно поменять цвета."; }
case false:{
switch (fon){
case '0':{
switch (text){
case '1':{system("color 01"); break; }
case '2':{system("color 02"); break; }
case '3':{system("color 03"); break; }
case '4':{system("color 04"); break; }
case '5':{system("color 05"); break; }
case '6':{system("color 06"); break; }
case '7':{system("color 07"); break; }
case '8':{system("color 08"); break; }
case '9':{system("color 09"); break; }
case 'a':{}
case 'A':{system("color 0A"); break; }
case 'b':{}
case 'B':{system("color 0B"); break; }
case 'c':{}
case 'C':{system("color 0C"); break; }
case 'd':{}
case 'D':{system("color 0D"); break; }
case 'e':{}
case 'E':{system("color 0E"); break; }
case 'f':{}
case 'F':{system("color 0F"); break; }
}break;
switch (fon == text){
case true:{cout << "Невозможно поменять цвета."; }
case false:{
switch (fon){
case '1':{
switch (text){
case '1':{system("color 12"); break; }
}break;
}
}break;
}
}break;
}
}
cin.get(); cin.get();
}
}
}
Код запускается, но после просто напросто закрывается, кто может помочь с завершением кода? Или грубо говоря "апгрейдом".
C/C++
Написать программу, которая по выбору пользователя меняет цвет консольного приложения C++
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
void color_console(unsigned bg, unsigned font) {
static const string code = "0123456789ABCDEF";
if (bg > 15) bg = 0;
if (font > 15) font = 7;
if (bg == font) {
bg = 0;
font = 7;
}
system(("color "s + code[bg] + code[font]).c_str());
}
void ui() {
static const string colors[16] = {
"Чёрный",
"Синий",
"Зеленый",
"Голубой",
"Красный",
"Лиловый",
"Желтый",
"Белый",
"Серый",
"Светло-синий",
"Светло-зеленый",
"Светло-голубой",
"Светло-красный",
"Светло-лиловый",
"Светло-жёлтый",
"Ярко-белый"
};
cout << setw(19) << "Выбор цвета: \n\n";
for (auto i = 0; i < 16; ++i) {
cout << setw(5) << i << " >>> " << colors[i] << '\n';
}
cout << "\n Выбор цвета фона: ";
unsigned bg;
cin >> bg;
cout << "\n Выбор цвета шрифта: ";
unsigned font;
cin >> font;
color_console(bg, font);
system("cls");
}
int main() {
system("chcp 1251 > nul");
ui();
puts("\n\t\tПривет, участникам соревнований!");
system("pause > nul");
}
#include <string>
#include <iomanip>
using namespace std;
void color_console(unsigned bg, unsigned font) {
static const string code = "0123456789ABCDEF";
if (bg > 15) bg = 0;
if (font > 15) font = 7;
if (bg == font) {
bg = 0;
font = 7;
}
system(("color "s + code[bg] + code[font]).c_str());
}
void ui() {
static const string colors[16] = {
"Чёрный",
"Синий",
"Зеленый",
"Голубой",
"Красный",
"Лиловый",
"Желтый",
"Белый",
"Серый",
"Светло-синий",
"Светло-зеленый",
"Светло-голубой",
"Светло-красный",
"Светло-лиловый",
"Светло-жёлтый",
"Ярко-белый"
};
cout << setw(19) << "Выбор цвета: \n\n";
for (auto i = 0; i < 16; ++i) {
cout << setw(5) << i << " >>> " << colors[i] << '\n';
}
cout << "\n Выбор цвета фона: ";
unsigned bg;
cin >> bg;
cout << "\n Выбор цвета шрифта: ";
unsigned font;
cin >> font;
color_console(bg, font);
system("cls");
}
int main() {
system("chcp 1251 > nul");
ui();
puts("\n\t\tПривет, участникам соревнований!");
system("pause > nul");
}
Aлексей Пастушенко
Это связано с тем то что у меня старый компилятор? (2008)

Чего б не подгрузить пакетные библиотеки из стандартного дистрибутива, там вам и помогут.
после каждо case следовало бы поставить break; иначе много кейсов выполнится сразуже. а все увидел... обычно после case не нужно дополнительный блок открывать но врятли это ошибка.
Aлексей Пастушенко
В любом случае код работает некорректно (
да вы просто некудышний программист сама бездарность, вам пора завершать карьеру (шутка)
Aлексей Пастушенко
Да мне бы закрыть лабораторную работу и будет мне счастье)
Владислав Я Из Nv City
понятно уже у себя запустил посмотрю)
Похожие вопросы
- Напишите программу, которая выводит таблицу факториалов от 1 до 10. c++
- Даны две обыкновенные дроби(введено пользователем). Написать программу которая делит первую дробь на вторую.
- Напишите программу, которая подсчитает и выведет количество слов длины 10, которые можно составить из букв a, b, c.
- В LINUX OS Написать программу, которая из командной строки получает целое число N и некоторый текст “Text”.
- Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде
- Написать программу, которая выводит числа из файла с текстом и числами. С++
- Написать программу, которая сравнивает число перестановок элементов при использовании сортировки «пузырьком» (усовершенс
- Помогите написать программу на C++
- Написать программу на c++
- Помоги пожалуйста написать программу на C++