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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema para guardar cadenas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema para guardar cadenas  (Leído 1,745 veces)
psycho248

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Problema para guardar cadenas
« en: 19 Enero 2014, 02:45 am »

Hola esta es mi segunda consulta. Después de buscar y rebuscar en mi código no le hallo solución.
Al guardar el segundo nombre automáticamente se almacena en lista[cant] sin necesidad de completar el bucle.   :-[ :-[   :-[   Ayuda por favor.......

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include<stdbool.h>
  5. int main()
  6. {
  7. int i,cant,j,cont;
  8. char *lista[10];
  9. char *aux[10];
  10. char* nombre;
  11. bool se_repite;
  12.  
  13. printf("Ingrese los nombres\n");
  14. nombre=(char*)malloc(10);
  15. cant=0;
  16. gets(nombre);
  17.  
  18.  cont=1;
  19.  while(cont<=2)
  20.  {
  21.     cant++;
  22.     lista[cant]=nombre;
  23.       do
  24.       {
  25.         gets(nombre);  //Aqui     al guardar el segundo nombre se encima con lista[cant]
  26.         se_repite=false;
  27.          for (i=1; i<=cant; i++)
  28.          {
  29.           if(strcmp(lista[cant],nombre)==0)
  30.           {
  31.             se_repite=true;
  32.           }
  33.          }
  34.       }while(se_repite=false);
  35. cont++;   }
  36. }
  37.  


En línea

psycho248

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Problema para guardar cadenas
« Respuesta #1 en: 19 Enero 2014, 04:22 am »

Ok Ahora me respondo yo mismo  :silbar: me faltó poner

Código
  1. nombre=(char*)malloc(10);  //Antes del segundo gets();
  2. gets(nombre);


 :rolleyes: :rolleyes: Pero pues por aquí lo dejo. Espero que a alguien le sirva.  :P


En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Problema para guardar cadenas
« Respuesta #2 en: 19 Enero 2014, 13:14 pm »

La mayoría de los errores "extraños" que tengas van a ser por depistes, te lo digo yo ;-)

Por cierto en vez de gets se recomienda fgets, la razón es porque puedes limitar el número de caracteres leídos:
Código
  1. fgets(nombre,10,stdin); // Leer HASTA 10 caracteres del teclado
http://www.cplusplus.com/reference/cstdio/fgets/

Si no lo limitas, leerías todo y si son más de los 10 caracteres la puedes liar. En el mejor de los casos el SO te abortará el progama, en el peor de los casos sobreescribirás otras variables, con lo que te encontrarás "problemas extraños".
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
psycho248

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Problema para guardar cadenas
« Respuesta #3 en: 19 Enero 2014, 15:53 pm »

Siiii el despiste  ;D voy a checar tu opción, sera una nueva forma para programar y hacer muchas cosas.  >:D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda problema para guardar archivo
Programación Visual Basic
musicaward 2 1,554 Último mensaje 19 Enero 2009, 01:50 am
por byway
Problema con cadenas
Programación C/C++
Uknow 2 2,106 Último mensaje 11 Diciembre 2011, 23:37 pm
por Uknow
Problema cadenas
Programación C/C++
muymuyperdido 6 2,521 Último mensaje 8 Enero 2013, 15:48 pm
por leosansan
[C] Problema con cadenas
Programación C/C++
alvr 1 1,498 Último mensaje 9 Enero 2013, 21:41 pm
por durasno
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines