图书馆管理系统C语言(用数组、循环、选择、字符串结构、结构体实现)借书时要先打印出书单然后再开始借书,借完书后打印出新书单1,唐诗三百首,2,三体,3,稻草人,4,老人与海,5,c语言。被借出的书要从书单里删除
时间: 2023-09-20 19:07:10 浏览: 114
好的,我可以给您提供一个简单的示例代码来实现这个功能。请参考下面的代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 5
// 定义书籍结构体
struct Book {
char title[50];
int id;
int borrowed;
};
// 初始化书籍数组
struct Book books[MAX_BOOKS] = {
{"唐诗三百首", 1, 0},
{"三体", 2, 0},
{"稻草人", 3, 0},
{"老人与海", 4, 0},
{"c语言", 5, 0},
};
// 打印书单
void print_book_list() {
printf("书单\n");
for (int i = 0; i < MAX_BOOKS; i++) {
printf("%d,%s\n", books[i].id, books[i].title);
}
}
// 借书
void borrow_book(int book_id) {
for (int i = 0; i < MAX_BOOKS; i++) {
if (books[i].id == book_id) {
if (books[i].borrowed == 0) {
books[i].borrowed = 1;
printf("借书成功,书名:%s\n", books[i].title);
} else {
printf("该书已被借出\n");
}
break;
}
}
}
// 打印新书单
void print_new_book_list() {
printf("新书单\n");
for (int i = 0; i < MAX_BOOKS; i++) {
if (books[i].borrowed == 0) {
printf("%d,%s\n", books[i].id, books[i].title);
}
}
}
int main() {
// 打印书单
print_book_list();
// 借书
borrow_book(1);
borrow_book(3);
// 打印新书单
print_new_book_list();
return 0;
}
```
这段代码中,我们首先定义了一个包含书名、编号、是否借出的结构体 `Book`,用于存储书籍信息。然后使用该结构体定义了一个包含 5 本书的数组 `books`。
接下来,我们定义了三个函数:
- `print_book_list()` 用于打印书单;
- `borrow_book(int book_id)` 用于借书,需要传入一本书的编号作为参数;
- `print_new_book_list()` 用于打印新书单,即借书后的书单。
在 `main` 函数中,我们依次执行了这三个函数,实现了先打印书单再借书的功能,并且能够实时更新书单。
当然,这只是一个简单的示例代码,您可以根据自己的需要进行修改和扩展。
阅读全文