• Miércoles 8 de Mayo de 2024, 23:40

Autor Tema:  tengo un problema con cadenas de caracteres  (Leído 1596 veces)

spainlord

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
tengo un problema con cadenas de caracteres
« en: Domingo 16 de Noviembre de 2008, 21:40 »
0
0.o :s lo que imprime son simbolos al azar, ni siq uiera imprime correctamente "La cadena de mayor longitud es: "
Código: Text
  1. /*1.Dadas dos cadenas de n caracteres, desarrollar un programa en C, el cual
  2. determine: si las cadenas son iguales, si una es mayor o si es menor, si
  3. imprimirá si son iguales, la cadena mayor o la cadena menor. Al final concatenará
  4. las dos cadenas y la imprimirá.*/
  5. #include<stdio.h>
  6. #include<string.h>
  7. void lecta(void);
  8. void lectb(void);
  9. void wut(void);
  10. char conca(void);
  11. void main(void)
  12. {
  13.  printf("n Ingresa las cadenas de caracteres: ");
  14.  lecta();
  15.  lectb();
  16.  wut();
  17.  conca();
  18. }
  19. void lecta(void)
  20. {
  21.   char cad[' '];
  22.   printf("nCadena A: ");
  23.   flushall();
  24.   gets(cad);
  25. }
  26. void lectb(void)
  27. {
  28.   char cadb[' '];
  29.   printf("nCadena B: ");
  30.   flushall();
  31.   gets(cadb);
  32. }
  33. void wut(void)
  34. {
  35.  char cad[' '],cadb[' '];
  36.  int m,n;
  37.  n=strlen(cad);
  38.  m=strlen(cadb);
  39.  if(m==n)
  40.  printf("n Las cadenas son de igual longitud.");
  41.  else if(n>m)
  42.  printf("La cadena de mayor longitud es: %s",cad);
  43.  else
  44.  printf("La cadena de mayor longitud es: %s",cadb);
  45.  
  46. }
  47. char conca(void)
  48. {
  49.   char cad[' '],cadb[' '];
  50.   printf("n%s %s",cad,cadb);
  51. }
  52.  

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: tengo un problema con cadenas de caracteres
« Respuesta #1 en: Domingo 16 de Noviembre de 2008, 21:59 »
0
No uses variables globales para empezar...

Código: C
  1. void lecta(void)
  2. {
  3.    char cad[' '];
  4.    printf("nCadena A: ");
  5.    flushall();
  6.    gets(cad);
  7. }
  8.  

Usas cad que no está declarada dentro de la función.

spainlord

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: tengo un problema con cadenas de caracteres
« Respuesta #2 en: Domingo 16 de Noviembre de 2008, 22:06 »
0
gracias por responder

hmm pero eso hice no?
char cad[' '];<------para eso lo escribi...
   printf("nCadena A: ");
   flushall();
   gets(cad);

perdona si desespero pero apenas empiezo a aprender a pogramar y aun no entiendo totalmente como usar funciones

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: tengo un problema con cadenas de caracteres
« Respuesta #3 en: Domingo 16 de Noviembre de 2008, 22:23 »
0
Sí, es cierto, disculpa  :brickwall:
Pero entonces al salir de la función pierdes el valor que hayas almacenado, puesto que es una variable local.

spainlord

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: tengo un problema con cadenas de caracteres
« Respuesta #4 en: Domingo 16 de Noviembre de 2008, 22:28 »
0
xD
no te preocupes

hmm entonces declaro cad[' '] en main? para que se mantenga en todas las funciones?

...^igual, perdona si suena tonto, pero como dije aun no entiendo bien esto de funciones, al menos no como utilizarlas

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: tengo un problema con cadenas de caracteres
« Respuesta #5 en: Lunes 17 de Noviembre de 2008, 09:26 »
0
Como lo resolviste en tu otro post viewtopic.php?f=18&t=37507