Цветной вывод в Turbo C ++

0

Мой компилятор - Turbo C++ v3.0 с DOS v5.0, эмулируемым в DOSBox v0.74
Я использую это, потому что Turbo C++ - это компилятор, с помощью которого моя средняя школа выбрала для обучения C++ язык программирования. Было подчеркнуто, что я использую этот компилятор при кодировании моего окончательного проекта.

Я использую Windows 8.1 (64 бит) с процессором Intel Core i5-3317U с частотой 1.70 ГГц

Ради живости и в дань популярной культуре я хочу, чтобы на моих выходных экранах был зеленый текст.

Вот что, казалось, сработало:

#include<iostream.h>
#include<conio.h>
void main(){
 clrscr();
 textcolor(2); // text set to green colour (conio.h function)
 cprintf("\n\t Hello World"); // cprintf from conio.h
 cout << "\n\t Hello World"; // cout from iostream.h
 getch();
}

Выходной сигнал которого выглядит следующим образом (экран был обрезан, чтобы сэкономить место на этом посту):

Изображение 174551

Согласно разделу справки в Turbo C++,

cprintf() отправляет отформатированный вывод в текстовое окно на экране.

Как вы можете видеть, текст, напечатанный на экране cout, не зеленый, и мой проект состоит из большого количества cin и cout а также некоторых файлов для записи и чтения.

Результат, который я желаю, может (хотя я еще не пробовал), скорее всего, получить, заменив все мои cout << "..."; с cprintf("..."); но я написал так много утверждений cout, что будет трудно редактировать код, который много.

cprintf - новая территория для меня, и я немного озадачен тем, как cprintf("\t"); выводится как o

Таким образом, я не хочу этого использовать. Я не хочу использовать это до тех пор, пока это не будет моим единственным вариантом.

Библиотеки cstdlib.h и windows.h недоступны в Turbo C++, и поэтому я не могу использовать их утилиты, чтобы получить то, что я хочу.

В конце концов, все, что я хочу, это приглашение на вывод, чтобы отобразить текст, который я cout в ярко-зеленом цвете. Минимальное изменение в моем коде было бы неплохо. Я даже не возражаю, чтобы изменить некоторые настройки моего эмулятора или компилятора или оболочки, чтобы сделать это.

Вся помощь очень ценится. Спасибо заранее =)

  • 0
    К вашему сведению, курс, скорее всего, приносит вам больше вреда, чем пользы.
  • 1
    @ Крис: Я знаю, и я обещаю переучить C ++, как только я закончу со школой. Но сейчас я застрял, используя компилятор, который старше меня, и пишу код, который, по мнению даже хранителя криптовалюты, устарел.
Показать ещё 3 комментария
Теги:
colors
dos
turbo-c++
dosbox

3 ответа

3

Ах, 1990-х годов, они хотят, чтобы их QEMM вернулся :)

Единственное решение, о котором я могу думать, это поместить это в ваш CONFIG.SYS:

DEVICE=C:\DOS\ANSI.SYS

а затем выводить escape-последовательности ANSI.

1

Вы можете использовать библиотеку constream для вывода цветного текста:

#include <constrea.h>
int main()
{
    constream cout;
    cout << setclr(2);
    cout << "\n\t Hello, World!" << endl;
    getch();
    return 0;
}

Я не знаю, что делать с символом табуляции.

0

вам просто нужно добавить clrscr(); функция после textcolor(); и он работает с битами

Ещё вопросы

Сообщество Overcoder
Наверх
Меню