Está en la página 1de 5

¿Cómo limpiar el contenido de la pantalla?

Cada vez que ejecutamos el programa, aparece el último resultado anterior, por lo que la pantalla se
va saturando de información. Para evitar esto, lo ideal sería que antes de la primera acción a
realizar, se limpie o borre la pantalla, para ello usamos la instrucción:

clear screen en español significa clrscr();


“limpiar la pantalla”.

Esta función no solo borra la pantalla, sino que además sitúa el cursor en la esquina superior
izquierda.

#include <stdio.h>
#include <conio.h>

int main()
{
clrscr();
printf( "Mensaje en pantalla limpia" );
getch();
}

Entonces, si analizamos, veremos que antes de que ocurra cualquier cosa, lo primero que se hace es
limpiar la pantalla, y luego se imprime en pantalla los mensajes.

Nota: Al ejecutar un programa en lenguaje C, si estamos usando un compilador tipo


Visual o Borland, es necesario pulsar las teclas Alt + Enter para maximizar la pantalla
en modo Consola DOS o en modo no gráfico.

¿Cómo imprimir en una posición específica de la pantalla?


Hemos visto que cuando usamos printf se escribe en la posición actual del cursor y se mueve el
cursor al final de la cadena que hemos escrito, pero si queremos ubicarnos en una posición
específica en la pantalla antes de escribir, es necesario desplazarnos tantos espacios en horizontal
(eje X) y tantos espacios en vertical (eje Y).

gotoxy(eje x, eje y);

gotoxy (10, 5); printf (“Este es mi mensaje…”);

//Mensaje que se imprime en 10 espacios a la


//derecha y 5 líneas hacia abajo.
Nota: Representación de ejes coordenados en la pantalla de un monitor en modo
caracteres. Tamaño máximo de espacios de caracteres en horizontal = 80, tamaño
máximo de caracteres en vertical = 40.

Posición X = 1 Posición X = 80
Posición Y = 1 Posición Y = 1

Posición X = 30
Posición Y = 10

Posición X = 1 Posición X = 80
Posición Y = 40 Posición Y = 40

Programa que imprime un mensaje en una ubicación especifica en pantalla

#include <stdio.h>
#include <conio.h>

int main()
{
clrscr();
gotoxy( 20, 10 ); // donde X = 20, Y = 10
printf( "mensaje un poco más centrado en pantalla" );
getch();
}

Fíjate que primero se pone la columna (x) y luego la fila (y). La esquina superior izquierda es la
posición (1, 1).

 EJERCICIOS
Ejercicio 1. Escribe un programa que borre la pantalla y escriba en la primera línea su
nombre y en la segunda su apellido:

Ejercicio 2. Escriba un programa que borre la pantalla y muestre el texto "estoy aquí" en la
fila 15, columna 20 de la pantalla:

Ejercicio 3. Escriba un programa que borre la pantalla y muestre el texto "estoy aquí" en la
posición en pantalla Y = 25, X = 50:
Ejercicio 4. Escriba un programa que muestre 2 pantallas, es decir, que primero muestre un
mensaje en una primera pantalla, y luego de una pausa y tras pulsar una tecla, se borre la
primera pantalla y se muestre una nueva pantalla con un segundo mensaje:

Solución ejercicio 4.

#include <stdio.h>
#include <conio.h>

int main()
{
clrscr(); // primera pantalla
gotoxy( 15, 12 ); printf( "mi primera pantalla" );
printf( "\n\n Pulse una tecla para continuar…" );
getch();
clrscr(); // segunda pantalla
gotoxy( 15, 12 ); printf( "mi segunda pantalla" );
getch();
}

¿Cómo imprimir textos en color?


El color es otro aspecto importante en el manejo de las interfaces creadas por los programadores.
En todos los lenguajes, los colores vienen representados por un valor entero, en éste caso del 0 al
15. A continuación una tabla de valoración de colores:

textcolor(color);

Color Valor Sintaxis


Negro 0 textcolor(0);
Azul oscuro 1 textcolor(1);
Verde oscuro 2 textcolor(2);
Cian oscuro 3 textcolor(3);
Rojo oscuro 4 textcolor(4);
Morado oscuro 5 textcolor(5);
Naranja 6 textcolor(6);
Gris Claro 7 textcolor(7);
Gris 8 textcolor(8);
Azul 9 textcolor(9);
Verde claro 10 textcolor(10);
Cia claro 11 textcolor(11);
Rojo 12 textcolor(12);
Morado 13 textcolor(13);
Amarillo 14 textcolor(14);
Blanco 15 textcolor(15);

Los colores del texto, deben especificarse antes de escribir el mensaje, pero esta vez cambiaremos
la instrucción de salida printf por cprintf , en éste caso, la nueva instrucción solo se usa para
mandar mensajes de salida en colores, y dentro del paréntesis, el código del color asociado.
Veamos un ejemplo:

#include <stdio.h>
#include <conio.h>

int main()
{
clrscr();
textcolor(14); // activa el amarillo como color de texto
printf( "Este texto no tiene color" );
getch();
cprintf( "\nEste texto si se muestra a color" );
getch();
}

¿Cómo cambiar el color de fondo a la pantalla?


Si queremos modificar ese color negro de fondo que siempre nos aburre, para poder
complementarlo con el color del texto, usaremos una nueva instrucción:
textcolorbackground();

textbackground(color);

La mecánica de la función es parecida al textcolor(), ya que hay que especificarle un color de


fondo asociado a un valor numérico entero. Veamos en el ejemplo:

#include <stdio.h>
#include <conio.h>

int main()
{

clrscr();
textcolor(14); // activa el amarillo para el texto

cprintf( "Este texto en amarillo pero en fondo negro \n" );


getch();
textbackground(5);
cprintf( "\nEste texto en amarillo con color de fondo morado" );
getch();
}

Para cambiar el color de fondo de la pantalla por completo, recurriremos a dos instrucciones que ya
conocemos: textbackground() y clrscr();
El truco consiste declarar un color de fondo usando la instrucción textbackground() y luego
mandamos a limpiar la pantalla con clrscr(). Observemos el siguiente ejemplo.

#include <stdio.h>
#include <conio.h>

int main()
{
textbackground(5); //Se activa el color de fondo Morado
clrscr(); // se limpia la pantalla pero en morado
textcolor(14); // activa el amarillo como color de texto
cprintf( "texto en amarillo con fondo morado \n" );
getch();
}

 EJERCICIOS
Ejercicio 1. Escribe un programa que muestre dos pantallas, en la primera, la información
de la Universidad, facultad, escuela e integrantes, mientras que en la segunda pantalla, un
resúmen de la carrera que está estudiante. Use las instrucciones que ya vimos
anteriormente.

Ejercicio 2. Escriba un programa que muestre los 4 puntos cardinales en la pantalla (Norte,
sur, este y oeste). Los nombres de los puntos cardinales deben ir en su correspondiente sitio
en la pantalla, para ello use la instrucción gotoxy() (Ver muestra)

Norte

Oeste Este

Sur

Ejercicio 3: Escriba un programa que muestre 5 pantallas de diferentes colores de fondo, y


por cada pantalla, escribir en la parte superior central de la pantalla usando la instrucción
gotoxy(), el número de la pantalla y el color de fondo correspondiente.

Ejercicio 4: Escriba un programa que muestre el diagrama de presentación de una interfaz


como en el ejemplo de la figura inferior usando la instrucción gotoxy() y printf.

******************
* *
* Mi Programa *
* *
******************
Interfaz de mi programa

También podría gustarte