Jump to content

Erro em estruturas


miguel__1

Recommended Posts

Boas malta, estou com um erro que não estou a perceber porque até porque no mesmo ficheiro tenho igual e lá não da erro... Ja pesquisei mas não consegui resolver ou ficar esclarecido do porque do erro. 

typedef struct medico Medico, *pMedico; 
typedef struct paciente Paciente, *pPaciente;
typedef struct consulta Consulta, *pConsulta;
typedef struct aIndividual Individual, *pIndividual;
typedef struct agenda Agenda, *pAgenda;


struct info{
    int dia, mes, ano;
};

struct consulta
{
    char nome_medico[50];
    char tipo_consulta[50];
    int dia;
    int mes;
    int ano;
    pConsulta prox;
};

struct paciente {
    char nome[50];
    int num_consultas;
    struct info data_nascimento;
    // historico consultas
    struct consulta lista;

    pPaciente prox;
};

struct medico {
    char nome[50];
    char apelido[50];
    char especialidade[50];
    float entrada;
    float saida;
    
    pMedico prox;
};

struct agenda
{
    char nome_medico[50];
    char especialidade[50];
    struct aIndividual a_individual;   //ERRO É AQUI
    pAgenda prox;
};

struct aIndividual
{
    char tipo[20];
    char paciente[50];
    int idade;
    float hora_inicio;
    float hora_fim;
    
    pIndividual prox;
};

 

Eu tenho estas estruturas num projeto e dá-me o seguinte erro:  head1.h:69:24: error: field 'a_individual' has incomplete type

Como é que eu posso resolver? Até porque na estrutura paciente estou a usar da mesma maneira e funciona perfeitamente.

Link to post
Share on other sites
HappyHippyHippo
struct aIndividual
{
    char tipo[20];
    char paciente[50];
    int idade;
    float hora_inicio;
    float hora_fim;
    
    pIndividual prox;
};

struct agenda
{
    char nome_medico[50];
    char especialidade[50];
    struct aIndividual a_individual;   //ERRO É AQUI
    pAgenda prox;
};

 

IRC : sim, é algo que ainda existe >> #p@p
Link to post
Share on other sites
48 minutos atrás, HappyHippyHippo disse:

struct aIndividual
{
    char tipo[20];
    char paciente[50];
    int idade;
    float hora_inicio;
    float hora_fim;
    
    pIndividual prox;
};

struct agenda
{
    char nome_medico[50];
    char especialidade[50];
    struct aIndividual a_individual;   //ERRO É AQUI
    pAgenda prox;
};

 

É isso, que nabo. Obrigado.

Link to post
Share on other sites
1 hora atrás, HappyHippyHippo disse:

struct aIndividual
{
    char tipo[20];
    char paciente[50];
    int idade;
    float hora_inicio;
    float hora_fim;
    
    pIndividual prox;
};

struct agenda
{
    char nome_medico[50];
    char especialidade[50];
    struct aIndividual a_individual;   //ERRO É AQUI
    pAgenda prox;
};

 

É possível inicializar um int com um valor por defeito? Por exemplo:

int idade = 0;

 

Link to post
Share on other sites
2 minutos atrás, HappyHippyHippo disse:

apresenta o código onde declaras a variável que queres que tenho o valor inicializado à cabeça

void add_consulta(pAgenda p, char *nome_med, char *tipo, char *nome_pac, int idade, float inicio, float fim)
{
    pIndividual novo;
    while(p != NULL && strcmp(p->nome_medico, nome_med) != 0) 
        p = p->prox;
    if(p != NULL)
        {
            novo = malloc(sizeof(Individual)); 
            if(novo == NULL) 
                return; 
            strcpy(novo->tipo, tipo);
            strcpy(novo->paciente, nome_pac);
            novo->idade = idade;
            novo->hora_inicio = inicio;
            novo->hora_fim = fim;
            novo->id++;
            novo->prox = p->a_individual;  /*insere no inicio*/
            p->a_individual = novo; 
            p->num_consultas++; 
        } 
}

Eu queria que o campo id comece a 0.

Link to post
Share on other sites
6 horas atrás, HappyHippyHippo disse:

c99 dizes tu ?

já agora ... quando se diz que dá erro, seria bom saber que erro dá !!!

consultas.c:374:21: error: field name not in record or union initializer

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.