Stack 기능삽입 문제 도와주세요!
오나미
Stack 기능삽입 문제 도와주세요
1. 자료와 상태를 바이너리 파일로 저장 가능
2. 저장된 바이너리 파일을 열어서 자료와 상태를 복구 가능
3. 현재 상태를 텍스트 형태의 파일로 출력 가능
위 기능을 메뉴로해서 (ex. 1.push 2.pop 3.print 4.quit 5. 바이너리저장 6. ....)
이런식으로 기능을 삽입하고 싶습니다. 아직 걸음마단계라
많이 힘드네요 ㅠ 도와주세요
질문 내용 :#include stdio.h
#define MAX 1024 // 스택크기 설정 void push(int vlaue);
int pop();
int stack[MAX]; // 스택메모리 설정
int top = -1; // 스택포인트 void main() {
int value, temp;
int input, quit = 1;
int a; // 스택내용 보여줌 while(quit == 1) {
printf(스택크기 입력하세요 (1~1024)\n현재 스택은 다음과 같습니다.\n);
if (top == -1)
printf( [ Stack it empty ]\n\n);
else {
for (a = 0; a = top; a++)
printf(%d , stack[a]);
printf( [top = %d]\n\n, top);
}
printf(\n다음 명령어를 입력하세요.\n 1.push 2.pop 3.print 4.quit\n 명령어:: );
scanf(%d, &input);
switch(input) {
case 1 :
printf(1. push :: 값을 입력하세요 );
scanf(%d, &value);
push(value); break;
case 2 :
temp = pop();
printf(2. pop :: 현재 최상위값 [ %d ]를 pop, temp); break;
case 3 :
for (a = 0; a top; a++)
printf(%d stack[%d]\n, stack[a], a); break;
case 4 :
quit = 2; break;
}
}
}
void push(int value) {
if(top = MAX-1) // 스택이 오버 플로우인지 체크
printf( [ Stgt; [ Stack overflow ]\n\n);
else
stack[++top] = value; // 스택에 추가
}
int pop() {
if(top 0) // 스택이 꽉찼는지 체크
{
printf( [ Stack it empty ]\n\n);
return 0;
}
else
return stack[top--]; // 스택에서 빼내고 반환
}
int peek() {
if(top 0) // 스택이 꽉찼는지 체크
{
printf( [ Stack it empty ]\n\n);
return 0;
}
else
return stack[top];
}