오류가 나는 원인과 해결방안좀 알려주세요.
헛장사
질문 제목 : c언어 오류해결방안..
질문 내용 :
주메뉴 5개를 화면에 출력하고 각메뉴 선택시 각 메뉴화면이 실행된후 아무키나 입력하면
다시 주메뉴 화면으로 돌아오는 프로그램을 작성하려하는데
1,2,3,4번 입력시 잘입력되는데 5번 입력시 예상하지 못한 결과가 화면에 나타납니다.
원인해 해결방안좀 알려주시면 감사하겠습니다.
#includestdio.h
#includewindows.h
#includeconio.h
int menu();
void moutput(int a);
void msearch(int a);
void mdelete(int a);
void input(int a);
int main()
{
int a;
while(1)
{
a=menu();
if(a==1)
{
input(a);
}
else if(a==2)
{
moutput(a);
}
else if(a==3)
{
msearch(a);
}
else if(a==4)
{
mdelete(a);
}
else
{
printf(프로그램을 종료합니다.\n);
break;
}
}
return 0;
}
int menu()
{
int a,b;
printf((주메뉴화면)\n);
printf(1.입력하기\n);
printf(2.출력하기\n);
printf(3.검색하기 \n);
printf(4.삭제하기\n);
printf(5.종료\n);
printf(# 메뉴를 선택하세요:);
b=scanf(%d,&a);
while(1)
{
if(b==0)
{
getchar();
printf(숫자를 재입력하시오:);
b=scanf(%d,&a);
}
else
{
if(a==1 || a==2 || a==3 || a==4 || a==5)
{
system(cls);
break;
}
else
{
printf(숫자를 재입력하시오:);
scanf(%d,&a);
}
}
}
return a;
}
void input(int a)
{
int b;
while(1)
{
printf(%d번 입력하기 메뉴입니다.\n,a);
printf(# 아무키나 누르면 주 메뉴로 돌아갑니다.\n);
getch();
b=menu();
if(b==1)
{
input(b);
}
else if(b==2)
{
moutput(b);
}
else if(b==3)
{
msearch(b);
}
else if(b==4)
{
mdelete(b);
}
else
{
printf(프로그램을 종료합니다.\n);
break;
}
}
}
void moutput(int a)
{
int b;
while(1)
{
printf(%d번 출력하기 메뉴입니다.\n,a);
printf(# 아무키나 누르면 주 메뉴로 돌아갑니다.\n);
getch();
b=menu();
if(b==1)
{
input(b);
}
else if(b==2)
{
moutput(b);
}
else if(b==3)
{
msearch(b);
}
else if(b==4)
{
mdelete(b);
}
else
{
printf(프로그램을 종료합니다.\n);
break;
}
}
}
void msearch(int a)
{
int b;
while(1)
{
printf(%d번 검색하기 메뉴입니다.\n,a);
printf(# 아무키나 누르면 주 메뉴로 돌아갑니다.\n);
getch();
b=menu();
if(b==1)
{
input(b);
}
else if(b==2)
{
moutput(b);
}
else if(b==3)
{
msearch(b);
}
else if(b==4)
{
mdelete(b);
}
else
{
printf(프로그램을 종료합니다.\n);
break;
}
}
}
void mdelete(int a)
{
int b;
while(1)
{
printf(%d번 삭제하기 메뉴입니다.\n,a);
printf(# 아무키나 누르면 주 메뉴로 돌아갑니다.\n);
getch();
b=menu();
if(b==1)
{
input(b);
}
else if(b==2)
{
moutput(b);
}
else if(b==3)
{
msearch(b);
}
else if(b==4)
{
mdelete(b);
}
else
{
printf(프로그램을 종료합니다.\n);
break;
}
}
}