Advertisement
akevintg

Stack Using Array

Mar 21st, 2014
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.11 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<Windows.h>
  3. #include<conio.h>
  4.  
  5. int stack[10];
  6. int top=-1;
  7. int count=-1;
  8.  
  9. void menu();
  10.  
  11.      
  12. void push(){
  13.     system("cls");
  14.     top++;
  15.     if(top<10){
  16.         do{
  17.         printf("Masukan Angka[1...9] = ");
  18.         scanf_s("%d",&stack[top]);fflush stdin;
  19.         }while(stack[top]>9||stack[top]<1);
  20.     }
  21.     else {
  22.         top--;
  23.         printf("tidak dapat mengimput data lagi");
  24.         getchar();
  25.     }
  26.     count=top;
  27.     menu();
  28. }
  29.  
  30. void pop(){
  31.     if (top!=-1){
  32.         printf("\n%d Berhasil diambil",stack[top]);
  33.         stack[top]=0;
  34.         top--;
  35.         count=top;
  36.     }
  37.     else
  38.         printf("Tidak ada data yang dapat diambil");
  39.     getchar();
  40.     menu();
  41. }
  42.  
  43. void view(){
  44.     top=9;
  45.     while(top!=-1){
  46.         if(stack[top]==0)
  47.             printf("%c %c\n",5,5);
  48.         else
  49.             printf("%c%d%c\n",5,stack[top],5);
  50.         top--;
  51.         if (top==-1)
  52.             printf("%c%c%c",6,6,6);
  53.     }
  54.     top=count;
  55. }
  56.  
  57. void menu(){
  58.     char x;
  59.     system("cls");
  60.     view();
  61.     printf("\n1. Push\n2. Pop\n3. EXIT\nMasukan Input = ");
  62.     x=_getch();fflush stdin;
  63.     switch(x){
  64.     case '1':
  65.         push();
  66.         break;
  67.     case '2':
  68.         pop();
  69.         break;
  70.     case '3':
  71.         break;
  72.     default :
  73.         menu();
  74.     }
  75. }
  76.  
  77. int main(){
  78.     menu();
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement