帮我编写C语言数据结构图书管理系统代码
时间: 2023-07-11 09:33:59 浏览: 75
好的,以下是一个简单的C语言数据结构图书管理系统代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_BOOKS 100
struct book {
char title[50];
char author[50];
int year;
};
struct library {
struct book books[MAX_BOOKS];
int num_books;
};
void add_book(struct library *lib, struct book new_book) {
if (lib->num_books >= MAX_BOOKS) {
printf("Error: library is full.\n");
return;
}
lib->books[lib->num_books] = new_book;
lib->num_books++;
}
void print_book(struct book b) {
printf("%s by %s (%d)\n", b.title, b.author, b.year);
}
void print_library(struct library lib) {
printf("Library:\n");
for (int i = 0; i < lib.num_books; i++) {
printf("%d. ", i+1);
print_book(lib.books[i]);
}
}
int main() {
struct library lib;
lib.num_books = 0;
// Add some initial books
struct book book1 = {"The Great Gatsby", "F. Scott Fitzgerald", 1925};
struct book book2 = {"To Kill a Mockingbird", "Harper Lee", 1960};
struct book book3 = {"1984", "George Orwell", 1949};
add_book(&lib, book1);
add_book(&lib, book2);
add_book(&lib, book3);
// Print the library
print_library(lib);
// Add a new book
struct book new_book = {"The Catcher in the Rye", "J.D. Salinger", 1951};
add_book(&lib, new_book);
// Print the library again
print_library(lib);
return 0;
}
```
该代码使用了两个结构体:`book`表示一本书,`library`表示整个图书馆。`library`结构体中包含一个`books`数组,存储`book`结构体的实例,并记录当前图书馆中的书籍数量。
代码中包含了三个函数:`add_book`用于将一本新书添加到图书馆中,`print_book`用于打印一本书的详细信息,`print_library`用于打印整个图书馆的书籍列表。
在`main`函数中,首先创建了一个空的图书馆`lib`,然后添加了三本初始书籍。接着打印了整个图书馆的书籍列表,再添加了一本新书,最后再次打印了整个图书馆的书籍列表。
这只是一个简单的示例,实际的图书管理系统可能需要更多的功能和复杂的数据结构。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)