Está en la página 1de 3

© Miguel Ángel Acera, 2006 - www.maacera.

com

¿Cómo utilizar colores en nuestros programas?


La biblioteca conio.h tiene dos funciones que nos permiten utilizar colores para el texto y para el
fondo de la pantalla, aunque esto sólo es posible si nos encontramos en el modo consola de MS-
DOS. Además, debemos utilizar las funciones csanf y cprintf, en vez de scanf y printf (y que son
exactamente iguales), para poder utilizar los colores.

Nota
Cada compilador puede añadir sus propias bibliotecas y/o funciones. Es posible que su compilador
tenga estas funciones en otra biblioteca o con otro nombre, o que no las tenga. Por ejemplo, Turbo
C/C++ de Borland sí las tiene, pero Dev C++ (versión 4.9.9.2) no las tiene.

La función: textcolor
Para mostrar el texto en colores por pantalla utilizamos la función textcolor, pasándole por
parámetro el color que queremos utilizar para el texto. Los colores se pueden especificar por el
nombre de una constante (en inglés) o por un número (véase la siguiente tabla).

Nombre Color Constante Valor


Negro BLACK 0
Azul BLUE 1
Verde GREEN 2
Cyan CYAN 3
Rojo RED 4
Magenta MAGENTA 5
Marrón BROWN 6
Gris LIGHTGRAY 7
Gris oscuro DARKGRAY 8 © Miguel Ángel Acera, 2006 - www.maacera.com
Azul intenso LIGHTBLUE 9
Verde intenso LIGHTGREEN 10
Cyan intenso LIGHTCYAN 11
Rojo intenso LIGHTRED 12
Magenta intenso LIGHTMAGENTA 13
Amarillo YELLOW 14
Blanco WHITE 15

Por ejemplo, si queremos mostrar un texto en color azul, primero seleccionamos en color con la
función textcolor y después mostramos el texto con la función cprintf:

#include <conio.h>
int main (void)
{
textcolor(BLUE);
cprintf("Este mensaje aparece en azul");
}

1/3
© Miguel Ángel Acera, 2006 - www.maacera.com

Una vez que hemos seleccionado un color con la función textcolor, a partir de ese momento,
siempre se mostrarán los textos en ese color. Para cambiar a otro color tendremos que volver a
hacer uso de esta función. Vemos el siguiente ejemplo:

#include <conio.h>
int main (void)
{
textcolor(BLUE);
cprintf("Este mensaje aparece en azul");
cprintf("Este mensaje aparece otra vez en azul");
textcolor(RED);
cprintf("Este mensaje aparece en rojo");
textcolor(BLUE);
cprintf("Este mensaje aparece nuevamente en azul");
}

La función: textbackground
Para mostrar el fondo de un texto en colores utilizamos la función textbackground, que funciona
igual que la función texcolor, pudiendo especificar los colores por el nombre de una constante (en
inglés) o por un número. En la siguiente tabla se muestran los colores disponibles para el fondo.

Nombre Color Constante Valor


Negro BLACK 0
Azul BLUE 1
Verde GREEN 2
Cyan CYAN 3
Rojo RED 4
Magenta MAGENTA 5
Marrón BROWN 6
Gris LIGHTGRAY 7 © Miguel Ángel Acera, 2006 - www.maacera.com

Por ejemplo, si queremos mostrar un texto en color blanco y fondo rojo, seleccionamos en color
del texto con la función textcolor y el color del fondo con la función textbackground, después
mostramos el texto con la función cprintf:

#include <conio.h>
int main (void)
{
textbackground(RED);
textcolor(WHITE);
cprintf("Este mensaje aparece en fondo rojo y texto blanco");
}

2/3
© Miguel Ángel Acera, 2006 - www.maacera.com

La función: clrscr
La función clrscr de la biblioreca conio.h permite limpiar la pantalla, pero lo hace con los colores de
fondo y texto que se hayan fijado. De esta manera, el siguiente ejemplo limpia la pantalla con un
color de fondo azul y un color de texto blanco. El efecto final es que toda la pantalla aparece azul.

#include <conio.h>
int main (void)
{
textbackground(BLUE);
textcolor(WHITE);
clrscr();
cprintf("Toda la pantalla es azul y este mensaje aparece en blanco");
}

Para dejar la pantalla como estaba en un principio (fondo negro y texto en gris) tendremos que
ejecutar el siguiente código:

textbackground(BLACK);
textcolor(LIGHTGRAY);
clrscr();

Mostrar los mensajes en pantalla utilizando colores puede mejorar mucho la presentación de
nuestros programas, evitando que siempre tengan un fondo negro y unas letras grises.

www.maacera.com
¿Buscas más ejercicios explicados?
© Miguel Ángel Acera, 2006 - www.maacera.com
Recuerda que dispones de más ejercicios de C/C++ en www.maacera.com. Visita la sección Formación.

¿Buscas un libro de programación en lenguaje C/C++?


En la misma web encontrarás información sobre el libro "Manual Imprescindible de C/C++", de la editorial
Anaya Multimedia, recomendado por la revista PCWORLD. Visita la sección Publicaciones.

¿Quieres estar al tanto de todas las novedades?


Suscríbete al newsletter de maacera.com para conocer todas las novedades, noticias, últimos ejercicios de
C/C++ incorporados... Visita la sección Newsletter.

3/3

También podría gustarte