Pilha

263 palavras 2 páginas
#include
#include
#include

typedef struct{ int valores[8]; int topo; // índice do último elemento da pilha }pilha;

char menu(); void inserir(pilha *p1); void remover(pilha *p1); void mostrar(pilha p1);

int main(){ setlocale(LC_ALL, "Portuguese"); char op; pilha p1; p1.topo = -1; do{ system("cls"); if(p1.topo < 7) { system("color 07"); printf( "\t-- Estrutura de dados - PILHA --\n" "\t-- (Posições livres: %d) --\n\n", 7-p1.topo); } else{ system("color 4F"); printf( "\t-- Estrutura de dados - PILHA --\n" "\t-- (Posições livres: 0 - A PILHA ESTÁ LOTADA!!) --\n\n"); } op = menu(); //inserir switch(op) { case '1': if(p1.topo < 7) { p1.topo += 1; inserir(&p1); } break; //remover case '2': remover(&p1); break; //Mostrar case '3': mostrar(p1); break; case '4': return 0; break; default: printf("Opção inválida\n\n"); system("pause"); break; } }while(op != 4); }

char menu(){ setlocale(LC_ALL, "Portuguese"); char op; printf( "1 - Inserir número na pilha\n" "2 - Remover número da pilha\n" "3 - Mostrar elementos na pilha\n" "4 - Sair\n"); scanf(" %c", &op);fflush(stdin); return op; }

void inserir(pilha *p1){ system("cls"); printf("\t-- Você está adiconando um valor na posição %d da pilha --\n\n", p1 -> topo); printf("Adicione um valor na pilha: "); scanf("%d", &p1 -> valores[p1 -> topo]); }

void remover(pilha *p1){ if(p1 -> topo >= 0) p1 -> topo -= 1; else{ printf("A pilha está vazia!!!"); system("pause"); } } void mostrar(pilha p1){ system("cls"); int i; printf("\t-- Lista de valores da pilha --\n\n");

Relacionados

  • Pilha
    1396 palavras | 6 páginas
  • O que é uma pilha?
    847 palavras | 4 páginas
  • pilhas
    1375 palavras | 6 páginas
  • Pilhas
    3436 palavras | 14 páginas
  • Pilhas
    843 palavras | 4 páginas
  • Pilha
    2314 palavras | 10 páginas
  • pilha
    1247 palavras | 5 páginas
  • pilhas
    1166 palavras | 5 páginas
  • Pilhas
    1972 palavras | 8 páginas
  • Pilhas
    2276 palavras | 10 páginas