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

Algoritmo em linguagem C


Caroline Nolasco

Pergunta

Olá 

preciso de ajuda como fazer algoritmo em linguagem C para armazenar em pilha, as caixas de um estoque de uma empresa de copos plastico. Esse empilhamento tem como base o modulo de copos, porem com cores diferentes, indicados na caixa. Sua função será criar um algoritmo para inserir as caixas na pilha informando ao usuário. Por fim, sera preciso imprimir se a caixa foi inserida na pilha ou removida, assim como se a pilha esta completa ou vazia.

O professor não ensinou como faz a pilha ou fila em linguagem em c.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

#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');
}

Link para o comentário
Compartilhar em outros sites

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...