#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("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];
	}
}