Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Alguien quiere jugar a encontrar el error? (Me esta volviendo loco D:)

Estas en el tema de Alguien quiere jugar a encontrar el error? (Me esta volviendo loco D:) en el foro de C/C++ en Foros del Web. Antes de comenzar aclarar que: Ya inclui la cabecera string.h Bueno, tengo esta función que en teoría debería centrarme cualquier texto en la consola, pero ...
  #1 (permalink)  
Antiguo 17/04/2016, 13:10
Avatar de JessHilario  
Fecha de Ingreso: agosto-2015
Ubicación: Jalisco
Mensajes: 11
Antigüedad: 9 años, 4 meses
Puntos: 2
Exclamación Alguien quiere jugar a encontrar el error? (Me esta volviendo loco D:)

Antes de comenzar aclarar que:
  1. Ya inclui la cabecera string.h

Bueno, tengo esta función que en teoría debería centrarme cualquier texto en la consola, pero da error. Mas específicamente dice que es un error de sintaxys pero yo no logro detectarlo. Ya busque ejemplos en Internet de lo mismo y según yo todo esta bien.

Espero ustedes puedan detectar dicho error

Saludos!

Código c:
Ver original
  1. void center(char *s, int w){
  2.     if(w<1){
  3.         w=80;
  4.     }
  5.     int len=strlen(s);
  6.     int pad=0;
  7.     if(len>=w){
  8.         pad=(w-len)/2;
  9.     }
  10.  
  11.     printf("%*.*s%s\n", pad, pad, " ", s);
  12. }

Última edición por JessHilario; 17/04/2016 a las 13:17
  #2 (permalink)  
Antiguo 17/04/2016, 14:24
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: Alguien quiere jugar a encontrar el error? (Me esta volviendo loco D:)

Viendo tu código no he visto nada raro, así que lo he probado a ver cómo funcionaba y no me arroja ningún error:

Código C:
Ver original
  1. #include <cstdio>
  2. #include <cstring>
  3.  
  4. void center(char *s, int w)
  5. {
  6.     if(w<1)
  7.     {
  8.         w=80;
  9.     }
  10.     int len=strlen(s);
  11.     int pad=0;
  12.     if(len>=w)
  13.     {
  14.         pad=(w-len)/2;
  15.     }
  16.  
  17.     printf("%*.*s%s\n", pad, pad, " ", s);
  18. }
  19.  
  20. int main()
  21. {
  22.     char frase[]="Vamos a centrarnos";
  23.     center(frase,10);
  24.  
  25.     return 0;
  26. }
__________________
Mi calculadora en Qt
  #3 (permalink)  
Antiguo 17/04/2016, 20:45
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
Respuesta: Alguien quiere jugar a encontrar el error? (Me esta volviendo loco D:)

Ayudaría mucho poner el error que tienes.

Suena a un mal uso de punteros junto con el strlen. Si la cadena noe stá bien formada, strlen va a hacer cosas muy feas.

Etiquetas: char, encontrar, int, jugar, loco, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:42.