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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  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 1,926 veces)
DonCuervo

Desconectado Desconectado

Mensajes: 3


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

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 pm »

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.412


ASMático


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

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: 1.603



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

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 pm por MAFUS » En línea

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 1,900 Último mensaje 27 Diciembre 2012, 03:45 am
por rir3760
Div anidados
Desarrollo Web
mapers 2 2,367 Último mensaje 18 Septiembre 2013, 07:24 am
por mapers
Algoritmos quick union y wighted quick union?
Programación General
carlmycol 1 2,189 Último mensaje 11 Septiembre 2014, 18:05 pm
por rir3760
JdateChooser anidados
Java
FISH in the house 0 1,569 Último mensaje 21 Febrero 2017, 16:43 pm
por FISH in the house
Ciclos anidados
Programación C/C++
mikeluna 3 2,180 Último mensaje 14 Agosto 2017, 12:25 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines