void inputBook (int book[][100]) // 도서입력
{
int i;
int k;
for (k = 0, i = 0; k == 0; i++)
{
printf("도서번호를 입력하세요 \n");
scanf("%d", &book[0][i]);
printf("도서대금을 입력하세요 \n");
scanf("%d", &book[1][i]);
printf("더 입력하시겠습니까 yes : 0, no : 1 \n");
scanf("%d", &k);
if (k == 0)
{
continue;
}
if (k == 1)
{
break;
}
else
{
printf("입력오류 \n");
continue;
}
}
}
void searchBook (int book[][100]) //도서검색
{
int target, walk, i;
printf("검색조건을 정하세요 1.도서번호 2.대여자정보 \n");
scanf("%d", &i);
if (i == 1)//도서번호
{
printf("도서번호를 입력해주세요 \n");
scanf("%d", &target);
for(walk=0; walk<=99; walk++)
{
if(book[0][walk] == target)
{
printf("이 도서 대여자의 학번은 %d 입니다\n",book[2][walk]);
break;
}
else if(walk>99)
{
printf("값이 잘못되었습니다 \n");
break;
}
}
}
if (i == 2)//대여자 정보
{
printf("대여자 학번을 입력해주세요 \n");
scanf("%d", &target);
printf("해당 대여자가 빌린 도서번호는 다음과 같습니다\n");
for(walk=0; walk<=99; walk++)
{
if(book[2][walk] == target)
{
printf("%d \n", book[0][walk]);
}
else if(walk>99)
{
printf("값이 잘못되었습니다 \n");
break;
}
}
}
}
void borrowBook(int book[][100]) //도서대여
{
int target, walk, j, k, l;
int i = 0;
printf("도서번호를 입력해주세요 \n");
scanf("%d", &target);
printf("대여날짜를 입력해주세요 \n");
scanf("%d", &j);
printf("학번을 입력해주세요 \n");
scanf("%d", &k);
//------------
for(walk=0; walk<=99; walk++)
{
if(book[0][walk] == target)
{
book[3][walk] = j;
book[2][walk] = k;
break;
}
else if(walk>99)
{
printf("값이 잘못되었습니다 \n");
break;
}
}
while (i = 0)
{
printf("더 대여하시겠습니까? 1.yes 2.no \n");
scanf("%d", &l);
if (l == 1)
{
return borrowBook(book);
}
if (l == 2)
{
break;
}
else
{
printf("입력오류 \n");
continue;
}
}
}
함수는 이렇게 3개고 메인함수는
int main(void)
{
int book[4][100] = {0};
int start;
int j;
printf("무엇을 하시겠습니까? 1.도서입력 2.도서삭제 3.도서검색 4.도서대여 5.도서반납\n");
scanf("%d", &start);
if (start == 1)
{
inputBook(&book[0]);
}
if (start == 2)
{
inputdel(&book[0]);
}
if (start == 3)
{
searchBook(&book[0]);
}
if (start == 4)
{
borrowBook(&book[0]);
}
if (start == 5)
{
returnBook(&book[0]);
}
printf("도서관리 프로그램을 더 사용하시겠습니까? 0.yes 1.no \n");
scanf("%d", &j);
if (j == 0)
{
return main();
}
if (j == 1)
{
return 0;
}
}
이렇게 되는데 문제는 도서검색에서 도서 입력받고 도서대여해서 다른 값들 입력받은다음에
도서검색에서 확인하는데 도서검색 안에 for문부터 하나도 안뜨고 바로 메인함수 종료조건으로 가는데
도움 좀 줘; ㅠㅠ 이것 땜에 머리 터질것같아
return borrowBook(book); 에서 웃으면 되는거냐?
void는 애초에 반환되는 값이 없는데 굳이 return문을 쓰는 이유는 뭐임??