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


 


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Structs anidados en Union
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Structs anidados en Union  (Leído 312 veces)
DonCuervo

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Structs anidados en Union
« en: 13 Septiembre 2017, 17:31 »

Buenos días, me encuentro realizando una actividad de estructura de datos, donde necesito anidar 3 estructuras dentro de una union pero a la hora de querer ingresar datos me tira un error.
Código:
#include <iostream>

using namespace std;

const int n=50;

struct autos
    {
        string nom;
        string dir;
        float mon;
        float men;
        float ded;
        int lic;
        string edo;
        string mod;
        int año;
        ///Constructor
        autos(){
            nom="0";
            dir="0",
            mon=0;
            men=0;
            ded=0;
            lic=0;
            edo="0";
            mod="0";
            año=0;
            }
    };
struct casa
    {
        string nom;
        string dir;
        float mon;
        float men;
        float ded;
        int ant;
        bool seg;
        ///Constructor
        casa(){
            nom="0";
            dir="0";
            mon=0;
            men=0;
            ded=0;
            ant=0;
            seg=false;
        }
    };
struct vida
    {
        string nom;
        string dir;
        float mon;
        float men;
        ///Constructor
        vida(){
            nom="0";
            dir="0";
            mon=0;
            men=0;
        }
    };

union polizas
{
    struct autos;
    struct casa;
    struct vida;

};
polizas pol[n];

int insertar(int tipo,int ind);

int main()
{
    int ind=0;
    ind=insertar(1,ind);

}

int insertar(int tipo,int ind)
{
    if(tipo==1){
        cout<<"Seguro de auto"<<endl;
        cout<<"Ingrese su nombre"<<endl;
           pol[ind].autos.autos(ind);
    }
    ind++;
    return ind;
}
Como tendría que manejar la union en este caso?


En línea

Yeralb

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Structs anidados en Union
« Respuesta #1 en: 13 Septiembre 2017, 18:00 »

ni idea pero yo necesito realizar un programa en Dev++ que sea tipo test de conocimiento donde se realicen 5 preguntas todas con opcion multiple de respuesta es decir a,b o c y que te de un punto por cada respuesta correcta y al final te diga si eres culto, poco culto o ignorante necesito ayudaaaaaaa


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.206


ASMático


Ver Perfil WWW
Re: Structs anidados en Union
« Respuesta #2 en: 13 Septiembre 2017, 21:39 »

ni idea pero yo necesito realizar un programa en Dev++ que sea tipo test de conocimiento donde se realicen 5 preguntas todas con opcion multiple de respuesta es decir a,b o c y que te de un punto por cada respuesta correcta y al final te diga si eres culto, poco culto o ignorante necesito ayudaaaaaaa
Si quieres ayuda con alguna duda concreta, haz un tema, pero no respondas a otros.



Las uniones son algo complicadas cuando las utilizas con clases. Tienes string dentro de la union. string tiene un constructor y un destructor, además de almacenar datos fuera de la union.

En fin, no me voy a liar: trata de usar de momento solo tipos nativos y punteros en las union.
En línea

MAFUS


Desconectado Desconectado

Mensajes: 896



Ver Perfil
Re: Structs anidados en Union
« Respuesta #3 en: 13 Septiembre 2017, 23:14 »

Mezclas C y C++, además de que confundes tipo con variable.
En tu union dices:
Código
  1. union polizas
  2. {
  3.    struct autos;
  4.    ...
  5. };

Las uniones, al declararlas necesitan indicar qué nombres tomaran las variables que habrá dentro. 'struct autos' solo es un tipo de dato, falta el nombre de la variable.

Después usas mal una función. Tu dices:
Código:
pol[ind].autos.autos(ind);
Pasas a la función autos un argumento cuándo aquí
Código
  1. struct autos
  2.    {
  3.        ...
  4.        autos(){
  5.        ...
  6.    }
no hay argumento y no se puede inferir.
« Última modificación: 13 Septiembre 2017, 23:17 por MAFUS » En línea

while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema if's anidados
Programación C/C++
m@o_614 1 637 Último mensaje 27 Diciembre 2012, 03:45
por rir3760
Div anidados
Desarrollo Web
mapers 2 752 Último mensaje 18 Septiembre 2013, 07:24
por mapers
Algoritmos quick union y wighted quick union?
Programación General
carlmycol 1 516 Último mensaje 11 Septiembre 2014, 18:05
por rir3760
JdateChooser anidados
Java
FISH in the house 0 163 Último mensaje 21 Febrero 2017, 16:43
por FISH in the house
Ciclos anidados
Programación C/C++
mikeluna 3 402 Último mensaje 14 Agosto 2017, 12:25
por ivancea96
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines