Ir para conteúdo
Fórum Script Brasil

joao_2

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por joao_2

  1. #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <ctype.h>
    #include <conio.h>
    #define MAX 21

    //estrutura
    typedef struct Caixas{
        char cor[MAX];
        struct Caixas *prox;
    };
    //variáveis globais
    Caixas *topo; //ponteiro para o topo da pilha
    //função auxiliar ler dados
    void cor_caixa()
    {system("cls");
    printf("Entre com a cor da caixa: ");
    fflush (stdin);
    fgets (cor, MAX, stdin);
    }
    //função
    void(){
        cor_caixa(); //chama a função
        Caixas *pnovo = (Caixas*) malloc(sizeof(Caixas)); //alocando memoria
        strcpy(pnovo -> cor, cor);
        pnovo -> prox = NULL;
        if (topo == NULL)//se a pilha estiver vazia
        topo = pnovo; //topo recebe o novo elemento
        else{
            pnovo->prox=topo;
            topo=pnovo;
        }
    }
    //função
    void(){
        Caixas *aux;
        if(topo==NULL){
            printf("\n\nErro, empilhamento de caixas vazias.\n\n");
            return;
        }else{
            aux = topo;
            topo = topo -> prox;
            free(aux);
            printf("\nCaixa removida do topo\n");
        }
    }
    //função listar
    void listar_caixas(){
        Caixas *aux;
        aux = topo;
        printf ("\t\t\tEmpilhamento\n\n");
        while(aux != NULL){
            printf ("Cor: %s", aux -> cor);
            aux = aux -> prox;
        }
    }

    //função principal
    int main(){
        char op;
        topo = NULL;//inicializando a pilha como vazia
        do{
            system("cls");
            printf("\t\t\tEmpilhamento de caixas de copos");
            printf("\n\n(E)mpilhar Caixa\n");
            printf("(L)istar Estoque Caixa\n");
            printf("(D)esempilhar Caixa\n");
            printf("(S)air do Programa\n\n");
            printf("Digite a opção");
            op = toupper(getche());
            switch(op){
                case'E': ();
                break;
                case'L': listar_caixas() ;
                break;
                case'D': ();
                break;
                case'S': exit(0);
                default: printf("\n\nOpcao invalida, digite novamente.\n\n");
            }
            system("PAUSE");
        }while (op != 'S');
    }

×
×
  • Criar Novo...