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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ‚Cómo manipular arreglos de estructuras?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ‚Cómo manipular arreglos de estructuras?  (Leído 1,934 veces)
diseho2880

Desconectado Desconectado

Mensajes: 1


Ver Perfil
‚Cómo manipular arreglos de estructuras?
« en: 18 Mayo 2021, 03:12 am »

Alguien me podría explicar porque no me deja ingresar información a un campo de una estructura. El programa se detiene cuando entra en el ciclo. Cualquier parte del codigo que este mal podrían ayudarme, gracias.

#include <iostream>

using namespace std;

#define MAXCHAR 50;

struct Grupo{
    char clave_grupo[50];
};

struct Profesor{
    Grupo lista_grupos[8];
};

int main()
{
    Profesor profesores;

    int num_grup;
    cout << "\nNumero de grupos: ";
    cin >> num_grup;

    for (int i = 0; i < num_grup; i++)
    {
        cout << "Clave del grupo " << i+1 << ": ";
        cin.getline(profesores.lista_grupos.clave_grupo,MAXCHAR);
    }
    return 0;
}


En línea

prosebas

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: ‚Cómo manipular arreglos de estructuras?
« Respuesta #1 en: 18 Mayo 2021, 04:14 am »

Te anexo aqui la solución
Código
  1. #include <iostream>
  2. using namespace std;
  3. #define MAXCHAR 50
  4. struct Grupo
  5. {
  6.    char clave_grupo[50];
  7. };
  8. struct Profesor
  9. {
  10.    struct Grupo lista_grupos[8];
  11. };
  12. int main()
  13. {
  14.    Profesor profesores;
  15.    int num_grup;
  16.    cout << "\nNumero de grupos: ";
  17.    cin >> num_grup;
  18.    cin.ignore();
  19.    for (int i = 0; i < num_grup; i++)
  20.    {
  21.        cout << "Clave del grupo " << i + 1 << ": ";
  22.        cin.getline(profesores.lista_grupos[i].clave_grupo, MAXCHAR);
  23.    }
  24.    return 0;
  25. }
  26.  
        cin.getline(profesores.lista_grupos.clave_grupo,MAXCHAR);
En esta linea no estarias almacenando para cada grupo la clave del grupo.

El cin.ignore() se usa para ignorar lo que hay en el bufffer y no salte la lectura de datos .


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
lo mas basico, como manipular cadenas
Programación C/C++
rod00x3 2 2,303 Último mensaje 7 Enero 2013, 20:57 pm
por Stakewinner00
Arreglos y estructuras en C. Ayuda.
Programación C/C++
Xgirl12 5 3,282 Último mensaje 12 Abril 2013, 06:23 am
por Xgirl12
Como manipular un codigo de un juego flash?
Ingeniería Inversa
VictorFs 5 2,880 Último mensaje 1 Febrero 2015, 04:11 am
por .:UND3R:.
[ayuda] Arreglos dentro de estructuras ("no arreglo de estructurar")
Programación C/C++
Thena_a 2 2,411 Último mensaje 4 Diciembre 2016, 20:25 pm
por MAFUS
Problema con arreglos, estructuras y funciones
Programación C/C++
ody532 3 2,437 Último mensaje 21 Abril 2017, 10:43 am
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines