elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  AYUDA! ---- Programa en lenguaje C en programa Dev-C ++ ---- AYUDA!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: AYUDA! ---- Programa en lenguaje C en programa Dev-C ++ ---- AYUDA!  (Leído 3,037 veces)
EduardoSaenz

Desconectado Desconectado

Mensajes: 4


Ver Perfil
AYUDA! ---- Programa en lenguaje C en programa Dev-C ++ ---- AYUDA!
« en: 7 Mayo 2016, 19:45 pm »

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!


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.660


🏴 Libertad!!!!!


Ver Perfil WWW
Re: AYUDA! ---- Programa en lenguaje C en programa Dev-C ++ ---- AYUDA!
« Respuesta #1 en: 7 Mayo 2016, 20:02 pm »

Jajaja nunca habia usado printf para retroceder en la salida estandar  ;-)  ;-) ;-)

Código
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include <unistd.h>
  4.  
  5. void banner(char *b,int repetir);
  6.  
  7. int main() {
  8. banner("Lalalala",4);
  9. }
  10.  
  11. void banner(char *b,int repetir) {
  12. int i,j,len;
  13. len = strlen(b);
  14. i = 0;
  15. while(i < repetir) {
  16. j = 0;
  17. while(j <len) {
  18. printf("%c",b[j]);
  19. j++;
  20. usleep(1000);
  21. }
  22. j = 0;
  23. while(j <len) {
  24. printf("\b\b");
  25. printf("  ");
  26. printf("\b\b");
  27. j++;
  28. }
  29. i++;
  30. }
  31. }


En línea

Publickey: 03b8b1bf1830c8d407870001ec0e7badb7a6632255fb0051284b14f53791bd6087
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW
EduardoSaenz

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: AYUDA! ---- Programa en lenguaje C en programa Dev-C ++ ---- AYUDA!
« Respuesta #2 en: 7 Mayo 2016, 20:56 pm »

Jajaja yo tampoco sabia este programa me lo paso mi profesor de programacion y no me lo quiso explicar solo me dijo usalo de ejemplo y haz esto y esto...  :-\ y muchas gracias por tu codigo pero no hace lo que necesito que haga  :-( pero muchas gracias Alberto!

Se supone que en vez de que se vallan escribiedo las letras deben aparecer pero desplazandose de un lado a otro y ocultandose

algo asi como el ejemplo alternate de este pagina
http://ortihuela.galeon.com/html16.htm
En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.660


🏴 Libertad!!!!!


Ver Perfil WWW
Re: AYUDA! ---- Programa en lenguaje C en programa Dev-C ++ ---- AYUDA!
« Respuesta #3 en: 7 Mayo 2016, 21:29 pm »

A lo que necesitas es emular el efecto de la etiqueta HTML MARQUEE

Cuando empece con C usabamos TurboC y ahi hice muchas cosas con conio.h pero cuando vi que no era estandar deje de usarlo...

Esos profes en lugar de Ayudar enredan mas el asunto, ¿por que pedir programa con efectos bonitos? si muchas veces los alumnos no pueden con otras estructuras de datos...

Deja veo como te puedo ayudar, la idea del ejemplo que te mostré es casi la misma solo que en lugar de aparecer de una en una hay que aparecer toda la cadena, borrarla y volver a aparecer pero ahora desfasada en un espacio.

Trata de modificar algo con lo que sabes si tienes dudas pregunta por esas dudas, no pidas trabajos terminados por que luego te borran el tema o lo bloquean..
En línea

Publickey: 03b8b1bf1830c8d407870001ec0e7badb7a6632255fb0051284b14f53791bd6087
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW
MAFUS


Desconectado Desconectado

Mensajes: 1.575



Ver Perfil
Re: AYUDA! ---- Programa en lenguaje C en programa Dev-C ++ ---- AYUDA!
« Respuesta #4 en: 7 Mayo 2016, 23:38 pm »

En verdad para hacer eso te puedes romper la cabeza usando printf, putchar, '\b' y todo eso; hacer uso de las funciones de tu S.O. para manejar la ventana de texto o puedes usar bibliotecas como ncurses que te dan un control fino y además es portable.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con un programa en lenguaje C if , if else dentro de un if else
Programación C/C++
osnov 3 2,339 Último mensaje 30 Septiembre 2012, 01:42 am
por overxfl0w13
[Ayuda] ¿Cómo ejecutar otro programa desde mi programa de C#?
.NET (C#, VB.NET, ASP)
Zodiak98 1 3,062 Último mensaje 8 Diciembre 2013, 01:51 am
por Eleкtro
[AYUDA] Ayuda con NETCAT o cualquier otro programa similar
Dudas Generales
Noxware 0 1,700 Último mensaje 16 Junio 2014, 18:13 pm
por Noxware
ayuda: programa en lenguaje c « 1 2 »
Programación C/C++
Dayleap 12 4,027 Último mensaje 22 Abril 2016, 00:04 am
por MAFUS
Ayuda: programa en lenguaje C
Programación C/C++
Dayleap 4 2,334 Último mensaje 29 Abril 2016, 09:53 am
por Dayleap
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines