Как передать пользовательский цвет ввода в textcolor ()?

Как передать цвет ввода пользователя textcolor() функция в conio.h ?

textcolor(BLUE);
cprintf("Hello");

работает нормально, но

char c[20];
gets(c);
textcolor(c);
cprintf("Hello");

выдает ошибку. Я не ожидал, что это сработает сам. Итак, вопрос в том, как пользователь может ввести цвет для отображения текста?
Из-за некоторых глупых ограничений, я должен сделать это на старом Turbo C ++ и не могу использовать graphics.h , dos.h и т.д. Так что решение, которое использует textcolor() само по себе было бы здорово.

1

Решение

Ваш код будет выглядеть примерно так:

char c[20];
gets(c);

if (strcmp("BLACK",c) == 0) {textcolor(BLACK);}
else if (strcmp("BLUE",c) == 0) {textcolor(BLUE);}
else if ... more colors here ...

cprintf("Hello");

Помните BLUE это не строка, это макрос, который равен целому числу 1. gets() возвращает строку, следовательно, strcmp() функция.

1

Другие решения

Других решений пока нет …