[ Foro de C ]

AYUDA! ---- Programa en lenguaje C en programa Dev-C ++ ---- Banner

08-May-2016 20:49
Invitado (Eduardo)
1 Respuestas

Alguien me puede ayudar o explicar como hacer una codigo en C parecido al siguiente:

#include <stdio.h>
#include <string.h>
#include <unistd.h>

int main()
{
  char banner[]={"ESTE ES UN EJEMPLO DE BANNER..."};
  unsigned short longitud, indice, espacio, repite, resto;

  longitud=strlen(banner);
  for (repite=1; repite<=3; repite++) /* repite el proceso 3 veces */
  {
/* ******** IMPRIME EN ORDEN DE IZQUIERDA A DERECHA Y LUEGO DESPLAZA ******** */
     for(resto=0; resto<=longitud; resto++) /* para caracteres restantes a imprimir */
     {   for (indice=0; indice<=longitud-1-resto; indice++) /* seleccion de indices evitando restantes */
        {
           printf("%c", banner[indice]); /* imprime indice */
           if (!resto) usleep(100000); /* demora el proceso */
        }
        for(espacio=1; espacio<=longitud-resto-1; espacio++)
           printf("\b"); /* retrocede */

        if (resto) usleep(100000); /* demora el proceso */
        printf("\b "); /* borra el caracter actual */
     }

     for(espacio=1; espacio<=longitud; espacio++) /* borra todos los caracteres presentados */
        printf("\b\b ");
     printf("\b"); /* se coloca al inicio del desplegado */

/* ************************************************************************** */
  }

  return 0;
}


Lo que hace el siguiente codigo es desplegar un tipo de banner al ejecutarlo podran observar que van apareciendo caracter por caracter y luego se desplaza, pero ahora lo que quiero que haga es que en vez de ir apareciendo caracter por caracter como si lo estuviesen escribiendo debe aparecer de izquierda a derecha pero desplazandose y regresarse de derecha a izquierda y de nuevo regresarse de izquierda a derecha 3 veces debe hacer eso, y para eso debe haber alguna funcion en donde me pida cuantas veces desea que se repita el desplazamiento y al ingresar un valor x de repeticiones debe repetirse

A quien pueda ayudarme se lo agradeceria mucho!


20-May-2016 23:08
Nacho Cabanes (+83)

Con versiones de C genéricas no podrás hacer que se escriba de derecha a la izquierda. Necesitas una orden para colocarte en ciertas coordenadas de pantalla (que no existen en todos los sistemas) o al menos borrar pantalla y redibujar (pero entonces parpadeará).






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)