고수님들 도서관리 프로그램좀...
콩쑨
질문 제목 : 도서관리프로그램.도서목록을search tree를사용하여만들것.
도서정보에도서위치/대출자이름추가
도서추가/삭제기능추가
도서정보를파일에저장할것
질문 내용 :#include stdafx.h
#define max_books 100
struct my_model {
int idx;
char title[200];
int checkout; // 1: checkout, 0:checkin
} book_model[max_books] = {
{1, 이기적 유전자, 0},
{2, 자료구조, 0},
{3, 운영체제, 0},
{4, 분산시스템, 0},
{5, 1q84, 0},
{6, 일각수의 꿈, 0},
{7, 삼국지, 0},
{8, 흐르는 강물처럼, 0},
{9, 논리적 글쓰기, 0},
{10, 그리스 로마 신화, 0},
{11, 로마인 이야기, 0}
};
int total_books;
int model_init()
{
int i;
for (i = 0; i max_books; i++) {
if (book_model[i].idx = 0)
break;
}
total_books = i;
return total_books;
}
int model_get_num_of_books()
{
return total_books;
}
struct my_model *model_get_books(int idx)
{
int i;
for (i = 0; i max_books; i++) {
if (book_model[i].idx == idx)
return &book_model[i];
}
return null;
}
int model_set_checkout(int idx, int checkout)
{
int i;
if (checkout != 0 && checkout != 1)
return 0;
for (i = 0; i max_books; i++) {
if (book_model[i].idx == idx) {
book_model[i].checkout = checkout;
return 1;
}
}
return 0;
}
int view_init()
{ printf(도서관리 시스템: 도서수:%d\n, model_get_num_of_books());
return 0;
}
int view_top_menu()
{
int input;
do {
printf(==상위 메뉴==\n);
printf([1] 조회\n[2] 대출\n[3] 반납\n);
printf(입력:\n);
scanf(%d, &input);
if (input == 1 || input == 2 || input == 3)
return input;
} while(1);
return 0;
}
int view_checkout_menu()
{
int input;
do {
printf(==대출 메뉴==\n);
printf(도서번호입력:\n);
scanf(%d, &input);
if (input 0)
return input;
} while(1);
return 0;
}
int view_checkin_menu()
{
int input;
do {
printf(==반납 메뉴==\n);
printf(도서번호입력:\n);
scanf(%d, &input);
if (input 0)
return input;
} while(1);
return 0;
}
int view_info_menu()
{
int input;
do {
printf(==조회 메뉴==\n);
printf(도서번호입력:\n);
scanf(%d, &input);
if (input 0)
return input;
} while(1);
return 0;
}
int view_book_info(int idx)
{
struct my_model *pmodel; pmodel = model_get_books(idx);
if (pmodel) {
printf(도서 조회 결과\n);
printf(%d %s %s\n, pmodel-idx, pmodel-title, pmodel-checkout ? 대출중 : 대출가능);
return 1;
} else {
return 0;
}
}
int view_message(char *msg)
{
printf(메시지: %s\n, msg);
return 1;
}
int con_checkout(int idx)
{ if (model_set_checkout(idx, 1)) { view_message(대출하였습니다.\n);
return 1;
}
return 0;
}
int con_checkin(int idx)
{ if (model_set_checkout(idx, 0)) { view_message(반납하였습니다.\n);
return 1;
}
return 0;
}
int con_info(int idx)
{
if (idx 0) return view_book_info(idx);
else
return 0;
}
int _tmain(int argc, _tchar* argv[])
{
int input; model_init(); view_init();
do { input = view_top_menu();
switch(input) {
case 1: input = view_info_menu(); con_info(input);
break;
case 2: input = view_checkout_menu(); con_checkout(input);
break;
case 3: input = view_checkin_menu(); con_checkin(input);
break;
}
} while(1);
return 0;
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2700484 | 두 개가 차이가 뭔지 알려주세요...(소수 찾는 프로그램) (2) | 날위해 | 2025-07-05 |
2700426 | 인터넷 창 띄우는 질문이요 (1) | 정훈 | 2025-07-04 |
2700400 | 원넓이를 계산이요 ㅜㅜ | 천칭자리 | 2025-07-04 |
2700368 | if에 관해서 질문이요... | Orange | 2025-07-04 |
2700339 | 이거 결과값이 왜이런건지.. (4) | 그댸와나 | 2025-07-04 |
2700313 | 파일 읽어서 저장하는데 빈파일일 경우 문재가 발생하네요.. (2) | 크나 | 2025-07-03 |
2700287 | 구조체 동적할당 연습을 하는데 오류가 뜹니다...(해결) (3) | 아련나래 | 2025-07-03 |
2700264 | 문자와 숫자 동시에 입력??? | 글고운 | 2025-07-03 |
2700236 | txt파일로만 쓰고 읽게 하려면 어떻게 해야 하나요..?? (8) | 미국녀 | 2025-07-03 |
2700211 | 전위 연산자 (2) | 어른처럼 | 2025-07-02 |
2700183 | C에서 파일이름을 받고, 그 파일의 사이즈를 출력해줘야하는데 내용이 출력이 안되네요 ;ㅅ; | 피스케스 | 2025-07-02 |
2700150 | 꼭좀 도와주세요ㅠㅠㅠ | 호습다 | 2025-07-02 |
2700095 | 연산문제...질문... | 오빤테앵겨 | 2025-07-01 |
2700070 | while문 , 3의배수 출력하는 프로그램좀 짜주세욤. | 횃불 | 2025-07-01 |
2700041 | 초보인데요 ㅎ 배열안에 배열을 집어넣을수 있나요?? | 헛장사 | 2025-07-01 |
2700012 | 배열// (1) | 전갈자리 | 2025-07-01 |
2699895 | 무한루프에 빠집니다.!! 해결좀부탁드려요 (10) | 선아 | 2025-06-30 |
2699842 | 질문을 너무 많이 하네여.....죄송.... (2) | 해님꽃 | 2025-06-29 |
2699816 | 오류 질문입니다.. (1) | 해비치 | 2025-06-29 |
2699763 | 질문입니다 ! 꼭 좀 도와주세요ㅠㅠ (2) | 미라 | 2025-06-28 |