#include <stdio.h>
int book_input(int* number, int* price, int book[100][5])
{
int i=0;
if(*number<0 )
printf("범위 내 값이 아닙니다");
else if(*number ==0)
return 0;
else
book[i][0] = *number;
book[i][1] = *price;
if(i<99)
i ++;
if(i==99)
printf("도서 목록이 꽉 찼습니다.");
}
int search (int * n, int find_num, int find_info) // 도서 검색 함수.
{
int i;
int book[100][5] = {0};
switch(*n)
{
case 1:
printf("도서 번호를 입력해주세요."); /// 1. 도서번호를 이용한 검색을 할 경우.
scanf("%d", &find_num);
for(i=0;i<100;i++)
{
if (book[i][0] ==find_num )
printf("도서 번호 : %d, 대여자 정보 %d, (대여자 정보가 0 이면 대여된 책이 아님) ", find_info, book[i][2]);
else
printf("입력하신 도서를 찾을 수 없습니다."); // 입력된 도서번호가 없을 때 나타나는 오류메시지.
return 0;
}
break;
case 2:
printf("대여자 정보를 입력해주세요."); //2. 대여자정보를 이용한 검색을 할 경우
scanf("%d", &find_info);
for(i=0;i<100;i++)
{
if (book[i][2] ==find_info )
printf("대여자 정보 %d, 도서 번호 : %d, (대여자 정보가 0 이면 대여된 책이 아님) ", find_info, book[i][0]);
else
printf("입력하신 대여자 정보를 찾을 수 없습니다."); // 입력된 대여자정보가 없을 때 나타나는 오류메시지.
}
break;
default :
{
printf("1 혹은 2를 입력해주세요");
return 0;
}
}
}
int main(void)
{
int choice;
int book[100][5];
int i,n;
int number=1, info, price;
int in_month, in_date, in_year;
int out_month, out_date, out_year;
int in_day, out_day;
int month_array[12] = {31,59,90,120,151,181,212,243,273,304,334,365};
do
{
printf("1. 도서 입력\n2.도서삭제\n3.도서검색\n4.도서대여\n5.도서반납 (각 메뉴에서 도서번호를 0 입력시 프로그램이 종료\n\n");
scanf("%d",&choice);
switch(choice)
{
case 1:
printf("도서 번호를 입력해주세요."); ///////도서 번호 입력, 범위 검사, 도서번호 0 입력시 프로그램 종료
scanf("%d" , &number);
printf("도서 대금을 입력해주세요."); //// 도서 대금 입력
scanf("%d" , &price);
book_input( &number, &price, book);
break;
case 3:
printf("도서 검색조건 1. 도서번호, 2.대여자정보"); ////// 1. 도서번호, 2. 대여자정보 중 조건을 선택해서 검색
scanf("%d", &n);
search (&n, number, info);
break;
return 0;
}
=========================================
지금 입력함수 book_input 에서 받은 값이
다른 함수에서 읽히지 않는 것 같은데요.
call by reference 썼는데도 왜 안 될까요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
여기다가 이런 질문하는거 되게 보기싫은데.....
이거 과제 지금 몇시간동안 헤메고 있어서 너무 답답해서 올려봅니다.
프로그래머 되기가 힘드네요..........ㅠㅠ
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.