fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdbool.h>
  4.  
  5. struct stackMhs {
  6. char nama[10];
  7. char npm[10];
  8. char telp[10];
  9. int size;
  10. };
  11.  
  12. struct stackMhs stackMhsbaru;
  13.  
  14. void stack() {
  15. stackMhsbaru.size = 0;
  16. }
  17.  
  18. bool isEmpty() {
  19. if(stackMhsbaru.size == 0) return true;
  20. else return false;
  21. }
  22.  
  23. void push(char nm, char np, char tel) {
  24. if(stackMhsbaru.size != 10) {
  25. stackMhsbaru.nama[stackMhsbaru.size + 1] = nm;
  26. stackMhsbaru.npm[stackMhsbaru.size + 1] = np;
  27. stackMhsbaru.telp[stackMhsbaru.size + 1] = tel;
  28. stackMhsbaru.size++;
  29. }
  30. else {
  31. printf("stack is full!");
  32. }
  33. }
  34.  
  35. void pop() {
  36. if(isEmpty() == true) {
  37. printf("stack is empty!");
  38. }
  39. else {
  40. char nama_1 = stackMhsbaru.nama[stackMhsbaru.size];
  41. char npm_1 = stackMhsbaru.npm[stackMhsbaru.size];
  42. char telp_1 = stackMhsbaru.telp[stackMhsbaru.size];
  43. stackMhsbaru.size--;
  44. }
  45. }
  46.  
  47. void print() {
  48. int i = 1;
  49. for(i = 1; i <= stackMhsbaru.size; i++) {
  50. printf("--------------------------- \n");
  51. printf("nama = %c \n", stackMhsbaru.nama[i]);
  52. printf("npm = %c \n", stackMhsbaru.npm[i]);
  53. printf("telp = %c \n", stackMhsbaru.telp[i]);
  54. printf("--------------------------- \n");
  55. }
  56. }
  57.  
  58. void main() {
  59. stack();
  60. push('a', 'b', 'c');
  61. // push('d','e','f');
  62. // push('g','h','i');
  63. print();
  64. }
  65.  
  66.  
Runtime error #stdin #stdout 0s 2112KB
stdin
Standard input is empty
stdout
--------------------------- 
nama = a 
npm  = b 
telp = c 
---------------------------