C语言链表图书管理系统代码
时间: 2024-04-21 19:19:52 浏览: 34
链表图书管理系统是一个常见的C语言项目,它可以用于管理图书馆或者书店的图书信息。下面是一个简单的链表图书管理系统的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义图书结构体
typedef struct Book {
char title[100]; char author[100];
int year;
struct Book* next;
} Book;
// 创建新的图书节点
Book* createBook(char title[], char author[], int year) {
Book* newBook = (Book*)malloc(sizeof(Book));
strcpy(newBook->title, title);
strcpy(newBook->author, author);
newBook->year = year;
newBook->next = NULL;
return newBook;
}
// 添加图书到链表
void addBook(Book** head, Book* newBook) {
if (*head == NULL) {
*head = newBook;
} else {
Book* current = *head;
while (current->next != NULL) {
current = current->next;
}
current->next = newBook;
}
}
// 显示所有图书
void displayBooks(Book* head) {
if (head == NULL) {
printf("书馆为空!\n");
return;
}
Book* current = head;
printf("图书馆中的图书有:\n");
while (current != NULL) {
printf("书名:%s\n", current->title);
printf("作者:%s\n", current->author);
printf("出版年份:%d\n", current->year);
printf("--\n");
current = current->next;
}
}
// 主函数
int main() {
Book* library = NULL;
// 添加图书
Book* book1 = createBook("C语言程序设计", "谭浩强", 2019);
addBook(&library, book1);
Book* book2 = createBook("数据结构与算法", "严蔚敏", 2020);
addBook(&library, book2);
Book* book3 = createBook("计算机网络", "谢希仁", 2018);
addBook(&library, book3);
// 显示所有图书
displayBooks(library);
return 0;
}
```
这段代码实现了一个简单的链表图书管理系统,可以添加图书并显示所有图书的信息。你可以根据需要进行扩展,例如添加删除图书、按照作者或出版年份进行排序等功能。