SHARE
TWEET

Untitled

a guest Oct 12th, 2017 52 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2.  
  3.  
  4. struct stack{
  5.     int data;
  6.     stack* prev;
  7.     stack* top;
  8. };
  9.  
  10. stack *top = NULL;
  11.  
  12. void push(int a){
  13.     stack *p = new stack();
  14.     p -> data = a;
  15.     p -> prev = top;
  16.     top = p;
  17.     printf("ok\n");  
  18. }
  19.  
  20. int pop(){
  21.     if(top == NULL){
  22.         printf("error");
  23.         return 0;
  24.     }
  25.     int ans = top -> data;
  26.     top = top -> prev;
  27.     return ans;    
  28. }
  29.  
  30. int size(){
  31.  
  32.     int count = 0;
  33.     while(top != NULL){
  34.         count++;
  35.         top = top -> prev;
  36.     }
  37.     return count;
  38. }
  39.  
  40. int back (){
  41.     if(top == NULL){
  42.         printf("error");
  43.         return 0;
  44.     }
  45.     return top -> data;
  46.  
  47. }
  48. void exit(){
  49.     printf("bye");
  50. }
  51.  
  52. void clear(){
  53.     stack *top = NULL;
  54.     printf("ok\n");
  55. }
  56.  
  57. int main(){
  58.     int num;
  59.     char str[6];
  60.     str[1] = 0;
  61.     while(str[1] != 'x'){
  62.         scanf("%s", str);
  63.         if(str[1] == 'u'){
  64.             scanf("%d", &num);
  65.             push(num);
  66.         }
  67.         if(str[1] == 'o'){
  68.             printf("%d\n", pop());
  69.         }
  70.         if(str[1] == 'i'){
  71.             printf("%d\n", size());
  72.            
  73.         }
  74.         if(str[1] == 'a'){
  75.             printf("%d\n", back());
  76.         }
  77.         if(str[1] == 'l'){
  78.             clear();
  79.         }
  80.         if(str[1] == 'x'){
  81.             exit();
  82.         }
  83.     }
  84. }
RAW Paste Data
Top