diff --git a/图书管理系统.c b/图书管理系统.c index 50565ce..de8b0f3 100644 --- a/图书管理系统.c +++ b/图书管理系统.c @@ -123,4 +123,152 @@ int main() getchar(); } return 0; +} + + +void ShowLibInfo(const Book* book1, const Reader* reader1) +{ + Book* book = book1; + Reader* reader = reader1; + + + int bookNUm = 0, readerNUm = 0, mangerNUm = 0; + while (book != NULL) + { + bookNUm++; + book = book->next; + } + while (reader != NULL) + { + readerNUm++; + reader = reader->next; + } + + printf("本图书馆共有藏书%d本,读者%d人\n", bookNUm, readerNUm); + printf("按任意键返回\n"); + getchar(); + return; +} + +void ShowLibBook(Book* book1) +{ + Book* book = book1; + while (book != NULL) + { // \t :制表符 + printf("%d\t%s\t%s\t%s\t%d\n", book->iNum, book->acName, book->acAuthor, book->acPress, book->iAmount); + book = book->next; + } + printf("\n按任意键返回\n"); + getchar(); + return; +} +Book* AddBook(Book* book1) +{ + Book* book = book1; + + if (book == NULL) + { + + Book* tmp = (Book*)malloc(sizeof(Book)); + tmp->next = NULL; + assert(tmp); + printf("输入书的编号:"); + scanf("%d", &tmp->iNum); + getchar(); + printf("输入书的名称:"); + gets(&tmp->acName); + printf("输入书的作者:"); + gets(tmp->acAuthor); + printf("输入书的出版社:"); + gets(tmp->acPress); + printf("输入书的库存量:"); + scanf("%d", &tmp->iAmount); + book = tmp; + + printf("按任意键返回\n"); + getchar(); + return book; + + return; + } + + while (1) + { + while (book->next == NULL) + { + int flag = 1; + while (flag) + { + Book* tmp = (Book*)malloc(sizeof(Book)); + + tmp->next = NULL; + assert(tmp); + printf("输入书的编号:"); + scanf("%d", &tmp->iNum); + getchar(); + printf("输入书的名称:"); + gets(&tmp->acName); + printf("输入书的作者:"); + gets(tmp->acAuthor); + printf("输入书的出版社:"); + gets(tmp->acPress); + printf("输入书的库存量:"); + scanf("%d", &tmp->iAmount); + + book->next = tmp; + + printf("是否继续输入:1==>继续\t0==>结束\t"); + scanf("%d", &flag); + getchar(); + if (flag == 0) + { + printf("按任意键返回\n"); + getchar(); + return book1; + } + } + } + book = book->next; + } + printf("按任意键返回\n"); + getchar(); + return; +} + + + + +Book* DealoldBook(Book* book1) +{ + Book* book = book1; + Book* prev = book1; + printf("输入要处理旧书的编号:"); + int id; + scanf("%d", &id); + getchar(); + while (book != NULL) + { + + if (id == book->iNum) + { + if (book1 == book) + { + book = book->next; + free(prev); + return book; + } + prev->next = book->next; + free(book); // free():释放资源 + printf("已将旧书处理掉!\n"); + printf("按任意键返回\n"); + getchar(); + return book1; + } + prev = book; + book = book->next; + } + printf("没有找到该图书\n"); + printf("按任意键返回\n"); + getchar(); + return book1; } \ No newline at end of file