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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Arreglo dinamico string
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Arreglo dinamico string  (Leído 5,122 veces)
leopaez

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Arreglo dinamico string
« en: 9 Diciembre 2016, 12:41 pm »

Muy buenos días, tengo un problema al querer desarrollar un programa en C++ que me permita guardar N cantidad de estudiantes en un arreglo tipo string, la cantidad de estudiantes a guardar debe ser digitada por  el usuario cada vez que se ejecuta el programa. El programa compila bien no presenta errores pero al ajecutarlo despues de ingresar el  segundo nombre se presenta un error. Copio el codigo espero e puedan ayudar.

Código
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <cstdio>
  4. #include <cstring>
  5.  
  6. using namespace std;
  7.  
  8. int n, i, j;
  9. string *a=new string[n];
  10.  
  11.  
  12. int main()
  13. {
  14. cout << "Por favor ingrese la cantidad de estudiantes a registrar: "<<endl;
  15.    cin>>n;
  16.    for(i = 0; i <n; i++)
  17.     {
  18.          cout << "Nombre: ";
  19.          cin.ignore(256,'\n');
  20.          getline (cin, a[i]);
  21.  
  22.       }
  23.  
  24. return 0;
  25.  
  26. }
  27.  


Mod: Los códigos deben ir en etiquetas GeSHi


« Última modificación: 9 Diciembre 2016, 16:25 pm por engel lex » En línea

jvm1994

Desconectado Desconectado

Mensajes: 29



Ver Perfil
Re: Arreglo dinamico string
« Respuesta #1 en: 9 Diciembre 2016, 19:23 pm »

Primero asignas el espacio en memoria a tu string y luego le preguntas a el usuario de que tamaño va a ser el string?

Es decir, como puede el string tener como indice maximo N, cuando siquiera inicializaste el valor de n?

Deberías crear el puntero a string --> Pedir la cantidad de indices (valor de n) --> Y después construir el string.


En línea

"La posibilidad de crear tu mundo."
Código
  1. int main()
  2. {
  3. eMundo * Own = world_new();
  4. if(Own != NULL)
  5. {
  6.    world_create(Own);
  7. }
  8.  
  9. return 0;
  10. }
leopaez

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Arreglo dinamico string
« Respuesta #2 en: 10 Diciembre 2016, 12:09 pm »

Gracias, tienes toda la razón ya hice las correcciones y programa trabaja correctamente. Estaba bloqueado. Este parte de código conforma un programa más grande y ya casi lo termino.

Código
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <cstdio>
  4. #include <cstring>
  5.  
  6. using namespace std;
  7.  
  8. int n, i, j;
  9. string *a;
  10.  
  11.  
  12.  
  13. int main()
  14. {
  15.  
  16. cout << "Por favor ingrese la cantidad de estudiantes a registrar: "<<endl;
  17. cin>>n;
  18. a=new string[n];
  19.    for(i = 0; i <n; i++)
  20.         {
  21.                cout << "Nombre: ";
  22.                fflush(stdin);
  23. getline (cin, a[i]);
  24.               }
  25.       delete [] a;
  26.  
  27. return 0;
  28. }
  29.  

 
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Arreglo dinamico string
« Respuesta #3 en: 10 Diciembre 2016, 21:43 pm »

Código:
fflush(stdin);

esto no se debe hacer nunca... fflush solo está diseñado para stdout y puede generar comportamiento inesperado en stdin, debes usar algún otro medio


aqui 2 temas sobre ello
Why fflush(stdin) is wrong

Flush the input buffer
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Arreglo Dinamico con Objetos :S
Java
Xephiro 9 14,486 Último mensaje 6 Marzo 2009, 20:20 pm
por juancho77
Problema Con Un Arreglo Dinamico [?]
Programación C/C++
Omar_2013 4 2,884 Último mensaje 16 Octubre 2013, 23:35 pm
por Eternal Idol
Problema al copiar string a un arreglo string dinamico VS2013 ultimate
Programación C/C++
raver1983 1 2,610 Último mensaje 7 Febrero 2017, 01:11 am
por raver1983
Como crear un array (o arreglo) dinamico
Java
MrSimpatia 2 2,506 Último mensaje 6 Octubre 2018, 01:53 am
por MrSimpatia
(Consulta) - Minimo de un arreglo dinamico
Programación C/C++
palacio29 1 1,920 Último mensaje 28 Mayo 2019, 06:42 am
por K-YreX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines