6주차 스택 기본 소스
// stack.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.
//
#include "stdafx.h"
#define MAX 10
static int pos; //현재 스택에서 가장 최상위 부분을 가르키는 변수
int isFull(){
//이 아래부터 소스를 작성하세요.
//pos와 MAX를 적당히 이용해서 구현하세요.
}
int isEmpty(){
//이 아래부터 소스를 작성하세요.
//posX를 적당히 이용해서 구현하세요.
}
int pop(){
if(!isEmpty())
return 0;
//이 아래부터 소스를 작성하세요.
//스택의 최상위 부분을 pop합니다. 즉 stack[pos]에 입력받은 값을 출력하고 지우도록 합니다.
//이 함수의 매개변수를 적당히 입력하세요.
}
int push(){
if(!isFull())
return pos;
//이 아래부터 소스를 작성하세요.
//스택의 최상위 부분에 value를 push합니다. 즉 stack[pos]에 입력받은 값을 넣도록 합니다.
//이 함수의 매개변수를 적당히 입력하세요.
}
int _tmain(int argc, _TCHAR* argv[])
{
int stack[MAX]; //스택
int value, sel; //value : 스택에 입력할 값, sel : 프로그램 메뉴 번호 저장
while(1){
printf("메뉴를 선택하세요.\n");
printf("1. push 2.pop 3.목록보기 4.종료\n");
printf(": ");
scanf("%d", &sel);
//push
if(sel == 1){
printf("push 추가할 값을 넣으세요 : ");
scanf("%d", &value);
pos = push(value);
}
//pop
else if(sel == 2){
printf("pop\n");
pos = pop();
}
//스택 내용 출력
else if(sel == 3){
printf("목록보기\n");
for(int i = 0 ; i < MAX; i++)
printf("%d\n", stack[i]);
}
//프로그램 종료
else if(sel == 4){
printf("종료합니다.");
return 0;
}
else{
printf("잘못 선택하셨습니다.\n");
}
}
return 0;
}