-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPilha_Vetor.c
85 lines (73 loc) · 1.67 KB
/
Pilha_Vetor.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int pilha [5];
int topo = 0;
int op;
int pop;
void insere(int *vetor){
if (topo > 4){
printf("Pilha cheia\n");
}else{
printf("Digite o valor que quer incluir: ");
scanf("%d", &pilha[topo]);
topo++;
}
}
int remover(){
int aux;
if (topo == 0){
printf("Pilha vazia, não há o que excluir\n");
}else{
printf("Retirado o valor %d", pilha[topo-1]);
topo--;
return aux;
}
}
void imprimir(int *vetor){
int i;
if (topo == 0){
printf("Pilha vazia, não há o que imprimir\n");
}else{
for(i = 0; i < topo; i ++){
printf("Pilha[%d]: %d\n", i+1, pilha[i]);
}
}
}
void main(){
setlocale(LC_ALL,"portuguese");
do{
printf("\tImplementação de ED: Pilha\n");
printf("Menu:\n");
printf("\t1 - Exibir pilha na tela;\n");
printf("\t2 - Incluir dado na pilha;\n");
printf("\t3 - Excluir dado da pilha;\n");
printf("\t4 - Sair");
do{
printf("\n\nQual a opção escolhida?\n");
scanf("%d",&op);
}while((op<1) || (op>4));
if(op!=4){
if(op == 1){
imprimir(pilha);
}else if(op==2){
insere(pilha);
printf("\nInserido com sucesso!\n");
}else if(op == 3){
remover();
printf("\nRemovido com sucesso!\n");
}
if(op==1){
op = 4; //para sair do loop
printf("\nPrograma encerrado.\n");
}
else{
//limpa a tela antes de exibir o menu novamente
system("pause");
system("cls");
}
}else{
printf("\nPrograma encerrado.\n");
}
}while(op!= 4);
}