반응형
도서관리 프로그램 동적으로 만들기
app.c
#include "main.h" #include "book.h" void MemuDisplay() { puts("1. 배열 크기 추가"); puts("2. 도서 추가"); puts("3. 도서 삭제"); puts("4. 도서 검색"); puts("5. 도서 출력"); puts("0. 종료"); } int inputNo() { int No; printf("입력 :"); scanf("%d",&No); return No; } void selectMenu(int key,BOOK* bookList,int a) { switch(key) { case 1: book_malloc(bookList,a); break; case 2: book_add(bookList,a); break; case 3: book_delete(bookList,a); break; case 4: book_seach(bookList,a); break; case 5: display(bookList,a); break; case 0: exit(0); default: puts("잘못된 값");break; } } void Run(BOOK* bookList,int a) { int key =0; //int a; //printf("배열크기 입력: "); //scanf("%d",&a); //bookList =(BOOK*)malloc(sizeof(BOOK)*a); //memset(bookList,0x00,sizeof(BOOK)*a); //display(bookList); //book_malloc(bookList,a); //printf("테스트\n---------------\n"); while(1) { system("cls"); display(bookList,a); MemuDisplay(); key = inputNo(); system("cls"); selectMenu(key,bookList,a); puts("계속하시려면 아무키나 누르세요!!"); getch(); } }
book.c
#include "main.h" // 1. 정적배열 도서관리 -> 도서 추가, 삭제, 검색(책이름으로), 출력(전체출력) void display(BOOK* bookList,int a) { int i; for(i=0;i
main.c
#include "main.h" #include "app.h" void main() { // 2. 동적배열 도서관리 --> 배열크기는 사용자에게 입력 !! // --> Resize기능 --> 배열크기변경 !! // main --> BOOK* BookList; BOOK* bookList; int a; printf("배열크기 입력: "); scanf("%d",&a); bookList =(BOOK*)calloc(a,sizeof(BOOK)); //memset(bookList,0x00,sizeof(BOOK)*a); Run(bookList,a); }
app.h
//app.h void MemuDisplay(); int inputNo(); void selectMenu(int key,BOOK* bookList,int a); void Run(BOOK* bookList,int a);
book.h
void display(BOOK* bookList,int a); void book_delete(BOOK* bookList,int a); void book_seach(BOOK* bookList,int a); void book_add(BOOK* bookList,int a); void book_malloc(BOOK* bookList,int a);
main.h
#include#include #include #include #include typedef struct book { char* BookName; char BookWriter[20]; int BookPrice; }BOOK;
'C, C++' 카테고리의 다른 글
[C] 최대값, 최소값, 합계 구하기 (0) | 2014.11.18 |
---|---|
[C] 도서관리(포인터 배열) (0) | 2014.11.18 |
[C] 포인터 공부 5 (0) | 2014.11.18 |
[C] 포인터 공부 4 (0) | 2014.11.18 |
[C] 포인터 공부 3 (0) | 2014.11.18 |