반응형

도서관리 프로그램 동적으로 만들기



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

+ Recent posts