Ir ao conteúdo
  • Cadastre-se

C Struct dentro de Struct


Posts recomendados

Pessoal, estou com um trabalho da faculdade pra fazer, no enunciado exige que coloque uma struct dentro de outra struct. Como eu faço isso? eu tentei assim mas não deu certo.

#include <stdio.h>
#include <stdlib.h>
#include<locale.h>
#include <string.h>
#define T 50


struct data
{
    char mes[T];
    char ano[T];
};


struct cadastro
{
    char leite[T];
    char alimento[T];
    struct data m [T];
    struct data a [T];

};

    struct cadastro gado[T];
    int i=0, op=0, qtd=0;

cadastrar ()
{
            system("cls");
            printf("\n=======================================");
            printf("\n\n\tCADASTRO");
            printf("\tCód: %d\n",i+1);
            printf("\n=======================================\n");
            printf("\n\tLitros de leite produzido na semana: ");
            fflush(stdin);
            gets(gado.leite);
            printf("\n\tKg de alimento ingerido na semana: ");
            gets(gado.alimento);
            printf("\n\tData de nascimento: ");
            gets(gado.m.mes);
            printf("\n\n");
            qtd++;
            return 0;
} 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Se quiser usar um vetor de struct, use:
    struct data m [T];
    struct data a [T];

 

Acesse: 

     gado.m[0].mes  |  gado.m[1].mes | ... | gado.m[49].mes

     gado.a[0].ano    |  gado.a[1].ano    | ... | gado.a[49].ano

 

Caso contrário e quiser usar apenas uma struct, use:


    struct data m;
    struct data a;

 

Acesse: 

     gado.m.mes  

     gado.a.ano    

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

obrigado (:

 

ficou assim

 

struct data
{
    char mes[T];
    char ano[T];
}date;

struct cadastro
{
    char leite[T];
    char alimento[T];
    struct data m;
    struct data a;

};

    struct cadastro gado[T];
    int i=0, op=0, qtd=0;

cadastrar ()
{
            system("cls");
            printf("\n=======================================");
            printf("\n\n\tCADASTRO");
            printf("\tCód: %d\n",i+1);
            printf("\n=======================================\n");
            printf("\n\tLitros de leite produzido na semana: ");
            fflush(stdin);
            gets(gado.leite);
            printf("\n\tKg de alimento ingerido na semana: ");
            gets(gado.alimento);
            printf("\n\tM: ");
            gets(gado.m.mes);
            printf("\n\tAbate: ");
            printf("\n\n");
            qtd++;
            return 0;
}

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...