Ir para conteúdo
Fórum Script Brasil
  • 0

Pessoal Meu Programa apresentar erro na Passagem de Parâmetro atráves do ponteiro criar_pilha (&p); porém não entendir o porque do erro alguém poderia me ajuda ?


Aldemar

Pergunta

/*
	// main.c
	#include <stdio.h>
#include <stdlib.h>
#include "estrutura.h"
	
int main(){
	    Pilha p[MAX];
    int i,op;
    criar_pilha(&p);
	    do{
        system("cls");
        printf("---MENU---\n");
        printf(" 1 - EMPILHAR \n");
        printf(" 2 - DESEMPILHAR \n");
        printf(" 3 - LISTAR \n");
        printf(" 4 - LISTAR TOPO \n");
        printf(" 5 - SAIR \n");
        printf("\n ESCOLHA UMA OPCAO: ");
        scanf("%d",op);
        fflush(stdin);
        switch(op){
	        case 1:
            // caso 1 opção de Empilhar
            empilhar(&p);
            break;
        case 2:
            // caso 2 opção de Desempilhar
            desempilhar(&p);
            break;
        case 3:
           // caso 3 opção de Listagem da Pilha
           listar(&p);
            break;
        case 4:
         //  listarTopo(&p);
            break;
	        }
    }while(op!=5);
	    return 0;
}
*/

 

/*
	// estrutura.h
#define MAX 3
	typedef struct Dados{
    int topo;
    char nome[30];
    int tel;
	}Pilha;
	        void criar_pilha(Pilha *p);
	        void empilhar(Pilha *p);
	        void desempilhar(Pilha *p);
	        void listar(Pilha *p);
	        void listarTopo(Pilha *p);
	*/

 

/*
	//pilha.c
	#include "estrutura.h"
	void criar_pilha(Pilha *p){
    p->topo=-1;
}
	
void empilhar(Pilha *p){
	        system("cls");
    if(p->topo==MAX-1){
        printf("\n      >>>---  PILHA CHEIA  /!\ --- \n\n");
    }else{
        printf("\n\t\t---- EMPILHAR ----\n");
        p->topo++;
        printf("\n\t\tNOME:");
        gets(p[p->topo].nome);
        printf("\n\t\tTEL:");
        scanf("%d",&p[p->topo].tel);
	    }
	     system("pause");
}
	void desempilhar(Pilha *p){
    system("cls");
    if(p->topo==-1){
        printf("\n      >>>---  PILHA VAZIA  \../ --- \n\n");
    }else{
        p->topo--;
        printf("\n      >>>---  OPERACAO-REALIZADA COM SUCESSO :-) --- \n\n");
	    }
        system("pause");
	}
	void listar(Pilha *p){
    system("cls");
    int i=0;
    if(p->topo==-1){
       printf("\n      >>>---  PILHA VAZIA  \../ --- \n\n");
	    }else{
       printf("\n\t\t---- PILHA ----\n\n");
       printf("\n\t\t#################\n");
       for(i=p->topo; i>=0; i--){
        printf("\n\t\t>>%s", p[i].nome);
        printf("\n\t\t>>%d", p[i].tel);
        printf("\n\t\t---------------------\n");
	       }
	        printf("\n\t\t#################\n");
	    }
	    system("pause");
}
*/

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...