Programación General > C/C++

 Presione Cualquier Tecla Para Continuar....

<< < (3/3)

QliX=D!:

--- Cita de: "desorden" --- Tambien puedes usar secuencias especiales de caracteres que define ANSI. La siguiente línea de código borra la pantalla:

printf("%c[2J", 27);

Para que funcione en sistemas Windows debes usar una terminal que soporte ANSI. Antiguamente estos códigos se cargaban con el archivo ANSI.SYS.
--- Fin de la cita ---
No es estandar, no todas las consolas son ansi, ni soportan caracteres ansi.
La mejor forma para mi, es hacer una funcion que escriba una pantalla en blanco y posicione el cursor arriba de todo.

desorden:
Claro que no es estándar :), niguna de las soluciones que se han dado lo es. El estándar de C no dice en ningún sitio que la salida tenga que ser a una pantalla.

Imaginad que la salida se hace a algun tipo de impresora, con la solución de las líneas en blanco (¿cuántas líneas? ¿20? ¿50? ¿500?) no ganaríamos para papel :P

Un saludo...

carmamezo:
Buenas a todos!!!
en cuanto a lo de pulsa una tecla para salir existe una función muy simpática:
kbhit() //conio.h
keyboard hit (indica si se ha presionado alguna tecla, se puede recoger lo pulsado mediante un getch o getchar).
No detiene la ejecución del programa a la espera de que se introduzca un dato.
En cuanto a la función de limpieza de pantalla en ANSI C está la funcion clrscr() en la librería conio.h.
También están dentro de la misma librería:
clreol() //borra la línea actual desde la posición del cursor
delline() //borra la línea completa donde está el cursor y pone el cursor en la esquina superior izq.
gotoxy() //situa el cursor en unas coordenadas definidas
insline() //inserta una línea en blanco en la posición del cursor desplazando el resto de las lineas situadas debajo.
wherex() y wherey() //dan la posición actual del cursor.
En fin todas estas funciones son parte de la biblioteca de funciones de ANSI C, teoricamente debieran ser portables a cualquier SO.

karmakoma:
Me ha gustado mucho la solucion de QliX=D! ya que la libreria conio.h no puedo usarla por no ser ANSI C.

Gracias a todos por vuestra ayuda  B)

amedinadiaz:
Para limpiar la pantalla ya descubri un modo que no da warnings ni errores que creo se ha dicho aqui de forma parecida pero no exacta:

#include <stdlib.h>
.
.
.
system("cls");

Creo que lo que no se habia mencionado era el uso de la libreria <stdlib.h> ya que si no al compilar te da un "warning". Asi queda perfecto.

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa