Denunciar Algoritmo em linguagem C em Grupo de Estudos Postado Novembro 14, 2020 #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'); }
Algoritmo em linguagem C
em Grupo de Estudos
Postado
#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');
}