用顺序表写一个图书管理系统用c语言写出代码
时间: 2024-10-08 07:02:53 浏览: 43
在C语言中,我们可以使用顺序表(如数组)来创建一个简单的图书管理系统。这里我们假设每个图书有一个唯一的ID、书名、作者和出版年份。下面是一个基本的顺序表实现:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义图书结构体
typedef struct {
int id;
char title[100];
char author[50];
int publication_year;
} Book;
// 动态内存分配用于存储书籍
Book* create_book_list(size_t capacity) {
Book* books = (Book*)malloc(capacity * sizeof(Book));
if (!books) {
printf("Memory allocation failed.\n");
exit(1);
}
return books;
}
// 添加新书到列表
void add_book(Book** books, size_t* count, const char* title, const char* author, int year) {
Book new_book = {*(count++) + 1, title, author, year};
// 在实际项目中应考虑边界检查和动态扩容
books[*count] = new_book;
}
// 打印图书列表
void print_books(Book* books, size_t count) {
for (size_t i = 0; i < count; i++) {
printf("ID: %d, Title: %s, Author: %s, Year: %d\n", books[i].id, books[i].title, books[i].author, books[i].publication_year);
}
}
int main() {
// 初始化书籍列表
size_t book_count = 0;
Book* book_list = create_book_list(5); // 初始容量设为5
// 添加几本书
add_book(&book_list, &book_count, "图书1", "作者1", 2000);
add_book(&book_list, &book_count, "图书2", "作者2", 2005);
// 打印所有书籍
print_books(book_list, book_count);
// 清理内存
free(book_list);
return 0;
}
```
这个例子仅展示了如何使用顺序表管理少量书籍。在实际应用中,可能会需要处理更大的数据量,并可能引入更复杂的数据操作,例如删除、查找等。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)