SHARE
TWEET

Untitled

a guest Oct 12th, 2017 66 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.     }
  24.     int ans = top -> data;
  25.     top = top -> prev;
  26.     return ans;    
  27. }
  28.  
  29. int size(){
  30.  
  31.     int count = 0;
  32.     while(top != NULL){
  33.         count++;
  34.         top = top -> prev;
  35.     }
  36.     return count;
  37. }
  38.  
  39. int back (){
  40.     if(top == NULL){
  41.         printf("error");
  42.     }
  43.     return top -> data;
  44.  
  45. }
  46. void exit(){
  47.     printf("bye");
  48. }
  49.  
  50. void clear(){
  51.     stack *top = NULL;
  52.     printf("ok\n");
  53. }
  54.  
  55. int main(){
  56.     int num;
  57.     char str[6];
  58.     while(str[1] != 120){
  59.         scanf("%s", str);
  60.         if(str[1] == 'u'){
  61.             scanf("%d", &num);
  62.             push(num);
  63.         }
  64.         if(str[1] == 'o'){
  65.             printf("%d\n", pop());
  66.         }
  67.         if(str[1] == 'i'){
  68.             printf("%d\n", size());
  69.            
  70.         }
  71.         if(str[1] == 'a'){
  72.             printf("%d\n", back());
  73.         }
  74.         if(str[1] == 'l'){
  75.             clear();
  76.         }
  77.         if(str[1] == 'x'){
  78.             exit();
  79.         }
  80.     }
  81. }
RAW Paste Data
Top