#include <stdio.h>

#define SIZE 5
int stack[SIZE];
int sp;

void push(int value);
int pop(void);

int main(void)
{
   sp=0;
   int resp, data;

   while(1){
       printf("1:push 2:pop 0:end : ");
       scanf("%d",&resp);

       if(!resp) break;

       switch(resp){
           case 1: printf("1:push : "); scanf("%d",&data);
                   push(data);
                   break;
           case 2: pop();
                   break;
        }
        printf("sp=%d\n",sp);
     }
     printf("\n");
     for(int i=0; i<sp; i++){
         printf("stack[%d]=%d \n", i, stack[i]);
     }
     
     return 0;
}
void push(int value)
{
    if(sp >= SIZE){
        printf("スタックが満杯で入りませんでした\n");
    }else{
         stack[sp++] = value;
    }
}

int pop(void)
{
    if(sp <= 0){
        printf("スタックが空で取り出せませんでした\n");
        return 0;
    }else{
        return stack[--sp];
    }
}