게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
스택 푸쉬가 이상합니다..
게시물ID : programmer_17601짧은주소 복사하기
작성자 : 푸아
추천 : 0
조회수 : 567회
댓글수 : 2개
등록시간 : 2016/06/13 21:53:26
옵션
  • 베스트금지
  • 베오베금지
  • 본인삭제금지
  • 외부펌금지

4.PNG
5.PNG
6.PNG
7.PNG

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int PrintScreen();
int PutFood(int Top,char *Dosirak[], char *input);
int EatFood(int Top,char *Dosirak[], int count);
void SearchFood(char *Dosirak[]);

void main()
{
 int Top = 4;
 int count = 0;
 char input[10];
 char *Five_Dan_Dosirak[5] = {"족발","꽃등심","삼겹살","갈비","불고기"};

 while (1)
 {
  switch (PrintScreen())
  {
  case 1:
   system("cls");
   printf("도시락에 넣을 음식을 입력하세요. : ");
   scanf("%s", input);
   Top = PutFood(Top,Five_Dan_Dosirak,input);
   SearchFood(Five_Dan_Dosirak);
   break;
  case 2:
   system("cls");
   Top = EatFood(Top,Five_Dan_Dosirak, count);
   SearchFood(Five_Dan_Dosirak);
   break;
  case 3:
   exit(0);
  }
 }
}

int PrintScreen()
{
  int input;

  printf("\n\n\n\t\t\t\t\t\t 도시락 \n");
  printf("\t\t\t\t\t\t ====== \n\n");
  printf("\t\t\t\t\t    1. 넣기\n");
  printf("\t\t\t\t\t    2. 먹기 \n");
  printf("\t\t\t\t\t    3. 종료\n\n");
  printf("\t\t\t\t            번호를 입력하세요 : ");
  scanf("%d", &input);

  return input;
}

int PutFood(int Top,char *Dosirak[], char *input)
{
 if (Top == 5) {
  printf("FULL\n");
  return 1;
 }
 else
 {
   Dosirak[++Top] = input;
   return Top;
 }

}

int EatFood(int Top,char *Dosirak[],int count)
{
 int ETop = Top;
 int Ecount = count;
 if (ETop == -1) {
  printf("No Data");
  return ETop;
 }
 else
 {
  printf("  %s Eat\n", Dosirak[ETop]);
  Dosirak[ETop] = "\0";
  return --ETop;
 }
 printf("\n%d\n",Ecount);
}

void SearchFood(char *Dosirak[])
{
 int i; 
 for (i = 4; i >= 0; i--) printf("%d 단 : %s    ", i + 1, Dosirak[i]);
}

스택으로 구현했는데 Push할때마다 값이 이상합니다.



전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호