Ir ao conteúdo
  • Cadastre-se

C Pessoal Fiz um Estrutura de Fila Estática em C . poís Apresentou erro não entedi


Aldemar Mendes

Posts recomendados

Pessoal Fiz um Estrutura de Fila Estática em C . Poís Apresentou erro não entendi alguém me ajuda por favor a resolver 

 


 

// Menu Principal !

#include <stdio.h>
#include <stdlib.h>
#include "estrutura.h"

int main(){
    Fila fi[MAX];
    int i,op;
    do{
        system("cls");
        printf("---MENU---\n");
        printf(" 1 - CRIA FILA\n");
        printf(" 2 - LIBERA FILA \n");
        printf(" 3 - SAIR \n");
        printf("\n ESCOLHA UMA OPCAO: ");
        scanf("%i", &op);
        fflush(stdin);
        switch(op){
        case 1:
            // caso 1 opção de Cria Fila
            cria_Fila(&fp);
            break;
        case 2:
            // caso 2 opção de Libera Fila
            libera_Fila(&fp);
            break;
        }
    }while(op!=3);
    return 0;
}

// Estrutura Fila.c !

#include "estrutura.h"
fi = cria_Fila();
Fila* cria_Fila();

Fila* cria_Fila(){
    Fila *fi (Fila*)malloc(sizeof(struct fila));
    if(fi != NULL){
        fi -> inicio = 0;
        fi -> finnal = 0;
        fi -> qtd = 0;
    }
        return fi;
}
libera_Fila(fi);
void libera_Fila(Fila* fi);

void libera_Fila(Fila* fi){
    free(fi);
}

// Estrutura.h


#define MAX 100
/// estrutura.h
struct aluno{
    int matricula;
    char nome[30];
    float n1,n2,n3;
};
typedef struct fila Fila;
struct fila{
    int inicio, finnal, qtd;
    struct aluno dados[MAX];
};
Fila *fi;

 

Link para o comentário
Compartilhar em outros sites

@Aldemar Mendes Pelos erros que encontrei, foi mais falta de atenção, então marquei os erros abaixo:

// Menu Principal !

#include <stdio.h>
#include <stdlib.h>
#include "estrutura.h"

int main(){
    Fila fi[MAX]; // <-------------- onde está definido MAX??? #define MAX X
    int i,op;
    do{
        system("cls");
        printf("---MENU---\n");
        printf(" 1 - CRIA FILA\n");
        printf(" 2 - LIBERA FILA \n");
        printf(" 3 - SAIR \n");
        printf("\n ESCOLHA UMA OPCAO: ");
        scanf("%i", &op);
        fflush(stdin);
        switch(op){
        case 1:
            // caso 1 opção de Cria Fila
            cria_Fila(&fp);//<------------------------ a função não está para receber argumentos
            break;
        case 2:
            // caso 2 opção de Libera Fila
            libera_Fila(&fp);
            break;
        }
    }while(op!=3);
    return 0;
}

// Estrutura Fila.c !

#include "estrutura.h"
//fi = cria_Fila();//<--------------------- isso não deveria existir
Fila* cria_Fila();//<---------------------- coloque acima de main, pois aqui não serve pra muita coisa

Fila* cria_Fila(){//<--------------------------- não está recebendo argumentos, coloque: Fila *cria_fila(Fila *fi)
    Fila *fi (Fila*)malloc(sizeof(struct fila));
    if(fi != NULL){
        fi -> inicio = 0;
        fi -> finnal = 0;
        fi -> qtd = 0;
    }
        return fi;
}
libera_Fila(fi);           //<----------------- isso aqui também é incoerente
void libera_Fila(Fila* fi);//<-----------------  o mesmo de cima

void libera_Fila(Fila* fi){
    free(fi);
}

// Estrutura.h


#define MAX 100
/// estrutura.h
struct aluno{
    int matricula;
    char nome[30];
    float n1,n2,n3;
};
typedef struct fila Fila;
struct fila{
    int inicio, finnal, qtd;
    struct aluno dados[MAX];
};
Fila *fi;

 

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