Alguém poderia me ajudar? Estou com um trabalho de Estrutura de dados para fazer, mas estou tendo muita dificuldade... Eu tentei fazer, mas não consigo concluir :/ Implemente uma função DecBin que faça uso da estrutura de pilha para efetuar a conversão de um valor decimal para binário.    #include<stdio.h> #include<stdlib.h> #define MAXTAM 1000 typedef struct pilha1 { int Pilha [MAXTAM]; int Topo; }pilha1; void Pilha_Construtor(pilha1*p) {     p->Topo = -1; //porque 0 é uma posição no vetor } int Pilha_Vazia(pilha1*p) //bool valor booleano, verdadeiro ou falso {     if (p->Topo==-1)     return 0;          else           return 1; }   int Pilha_Push (pilha1*p, int valor) //Inserir {     if (p->Topo==MAXTAM-1)     {         return 0;     }     else     {              p->Topo++;         p->Pilha[p->Topo] = valor;         return 1;     } } int Pilha_Pop (pilha1*p, int valor) //Desempelhar, retirar elemento {     if (p->Topo==MAXTAM-1 )     {         return -1;     }          else      {         valor==p->Pilha[p->Topo];         p->Topo--;         return p->Pilha[p->Topo+1];         } } int menu() {         int op;    printf("**** PILHAS ****\n\n");    printf("Escolha uma das opcoes\n");    printf("1.Empilhar\n");    printf ("2. Converter para binário \n");    printf("3.Sair\n");    printf("Opcao: ");    scanf("%d",&op);    return op; }// fim menu void DecBin(pilha1 *p, int valor) {     Pilha_Construtor(p);     int x;     if (valor >= 2)     {         do{             x = valor % 2;             Pilha_Push(p, x);             valor =valor / 2;         } while (valor >= 2);     }     x = valor % 2;     Pilha_Push(p, x);     int tam = p->Topo;     for (int i = 0; i <= tam; i++)     {         printf (" %d ", Pilha_Pop(p));     } }  main() {          pilha1 pi;     Pilha_Construtor(&pi);      int valor,op;         do     {                  op = menu();         switch(op)         {             case 1: printf ("Valor a empilhar: ");             scanf ("%d",&valor);             if(Pilha_Push(&pi,valor)==1)                  printf ("Valor %d empilhado!", valor);             else                 printf ("Pilha cheia!");         break;                                                     case 2:                                         break;                       case 3: printf("Saindo....\n");           break;                                   default: printf("Opcao invalida...");        }      getch();      system("cls");            while(op!=2);                 }                  }