Título: [SOLUCIONADO] Consulta - Introducir varios datos en Struct [C++] Publicado por: DeMoNcRaZy en 9 Marzo 2015, 16:25 pm Buenas,
Estos practicando las estructuras en c++ y bien hasta el momento más o menos voy bien y ahora tengo una consulta, he ingresado datos y luego los he mostrado, hasta hay bien, pero la cosa es si puedo introducir más de 1 dato, osea repetir progresivamente hasta que yo quieras. Aquí mi código: Código
Eso hace que tu metas 3 datos y luego los muestre, pero me gustaría saber si pudiera meter varios datos más y luego buscar 1 en especial y me lo diga. He encontrado referencias acá: http://www.aprendeaprogramar.com/mod/resource/view.php?id=495 (http://www.aprendeaprogramar.com/mod/resource/view.php?id=495) Pero para lo que busco hacer está usando punteros y me gustaría saber si hay alguna manera de hacerlo sin usar punteros ya que hasta hay no llego aún. Gracias, saludos. Título: Re: Consulta - Introducir varios datos en Struct [C++] Publicado por: eferion en 9 Marzo 2015, 16:35 pm Lo normal es que la declaración del struct se haga fuera de la función:
Código
Partiendo de esta base, para no guarrear mucho el código, siempre puedes crear un array fijo de elementos: Código
El ejemplo anterior crea un array de 20 elementos de tipo "Personaje". El bucle, para mostrarte un ejemplo sobre cómo se puede acceder a los elementos de ese array, asigna una edad a cada uno de ellos: 20 al primero, 21 al segundo, 22 al siguiente y así. Esto es con arrays de tamaño fijo. También puedes crearlos del tamaño que tu quieras haciendo uso de la memoria dinámica: Código
En el caso de la memoria dinámica, hay que acordarse de liberar luego esta memoria para poder reutilizarla en el futuro. Un saludo. Título: Re: Consulta - Introducir varios datos en Struct [C++] Publicado por: DeMoNcRaZy en 9 Marzo 2015, 17:18 pm Buenas,
Gracias @eferion por tu respuesta, gracias a ello me he estructurado como bien dices. Ahora he echo esto y va todo bien, pero otra duda que tengo es intentar buscar el dato según el nombre u otro dato que no sea el número del array. He echo esto: Código
He intentado cambiar la variable 'i' pero entonces ya el for no haría su funcionamiento bien. Me he quedado aquí un poco atrancado. Gracias, saludos. Título: Re: Consulta - Introducir varios datos en Struct [C++] Publicado por: eferion en 9 Marzo 2015, 17:49 pm Iteras el array y, para cada elemento, compruebas si los parámetros de dicho elemento coinciden con los buscados:
Código
PD.: si usas "new", asegúrate de hacer "delete" cuando ya no vayas a usar el array para liberar la memoria Título: Re: Consulta - Introducir varios datos en Struct [C++] Publicado por: DeMoNcRaZy en 9 Marzo 2015, 18:35 pm Gracias de nuevo.
La función la cumple bien, dentro del bucle, lo que si que no se ejecuta al introducir 2 veces los datos. Y el resultado quedaría así: (http://i.imgur.com/vP8PJkn.png) He intentado sacando el if del bucle y cumple una función y la otra no: (http://i.imgur.com/Qs0UQPb.png) - Se introduce las dos veces los datos seguidos y luego te pide el nombre, pero al ingresarlo no te muestra el contenido del if. Código
PD: Liberé memoria según me aconsejaste: Código
Saludos. Título: Re: Consulta - Introducir varios datos en Struct [C++] Publicado por: DeMoNcRaZy en 9 Marzo 2015, 22:03 pm Gracias por la ayuda,
Ya conseguí solucionarlo. Código
Necesitaba otro bucle para recorrerlo . Saludos. |