Advertisement
justaCprogrammer

simplepushpopthing.c

Jan 2nd, 2022
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct
  6. {
  7. int numero;
  8. }ponteiro;
  9.  
  10. int topo = 0;
  11. void regulagem(ponteiro * pontoCondutor,int nTotal)
  12. {
  13. int cont;
  14. for(cont = 0;cont < nTotal;cont ++)
  15. {
  16. pontoCondutor[cont].numero = 0;
  17. }
  18. }
  19. void adicionaElemento(ponteiro * pontoCondutor,int nTotal)
  20. {
  21. fflush(stdin);
  22. if(topo != nTotal)
  23. {
  24. int tempNum;
  25. printf("Digite um numero\n");
  26. scanf("%d",&tempNum);
  27. pontoCondutor[topo].numero = tempNum;
  28. topo = topo + 1;
  29. }else
  30. {
  31. printf("Nao tem mais espaco para empilhar por favor retire alguns elementos!\n");
  32. system("pause");
  33. }
  34. }
  35.  
  36. void retiraElemento(ponteiro * pontoCondutor)
  37. {
  38. fflush(stdin);
  39. topo = topo - 1;
  40. pontoCondutor[topo].numero = 0;
  41. }
  42.  
  43. void mostraElementos(ponteiro * pontoCondutor, int nTotal)
  44. {
  45. int leitor;
  46. for(leitor = 0;leitor < nTotal;leitor ++)
  47. {
  48. printf("Numeral:%d\n",pontoCondutor[leitor].numero);
  49. }
  50. }
  51. int main ()
  52. {
  53. int qtd,resp;
  54. printf("Digite uma quantidade\n");
  55. scanf("%d",&qtd);
  56. ponteiro * pontoCondutor;
  57. pontoCondutor = malloc (qtd * sizeof(int));
  58. regulagem(pontoCondutor,qtd);
  59. do
  60. {
  61. system("cls");
  62. printf("Seja bem vindo a pilha\n");
  63. mostraElementos(pontoCondutor,qtd);
  64. system("pause");
  65. printf("\n --------------------------------\n");
  66. printf("Escolha uma opcao\n");
  67. printf("[1] - Adicione um elemento na Pilha\n");
  68. printf("[2] - Retirar um elemento da Pilha\n");
  69. printf("[3]- Encerrar o programa\n");
  70. printf("Sua opcao:");
  71. scanf("%d",&resp);
  72.  
  73. switch(resp)
  74. {
  75. case 1:
  76. adicionaElemento(pontoCondutor,qtd);
  77. break;
  78.  
  79. case 2:
  80. retiraElemento(pontoCondutor);
  81. break;
  82.  
  83. case 3:
  84. printf("Fechando o Programa\n");
  85. break;
  86.  
  87. default:
  88. printf("Opcao invalida,por favor escolha novamente\n");
  89. }
  90. }while(resp != 3);
  91. return 0;
  92. }
  93.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement