图书管理系统c语言查找书籍链表
时间: 2024-06-04 15:04:36 浏览: 116
图书管理C语言源代码(链表)
5星 · 资源好评率100%
图书管理系统中查找书籍的功能通常是通过链表实现的,主要分为两步:
1. 遍历链表找到指定的书籍节点;
2. 对找到的书籍节点进行相应的操作,比如删除、修改、查看详情等。
以下是一个简单的 C 语言实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Book {
char name[50];
char author[50];
int id;
struct Book* next;
};
struct Book* create_book(char name[], char author[], int id) {
struct Book* book = (struct Book*) malloc(sizeof(struct Book));
strcpy(book->name, name);
strcpy(book->author, author);
book->id = id;
book->next = NULL;
return book;
}
void insert_book(struct Book** head_ref, struct Book* new_book) {
new_book->next = *head_ref;
*head_ref = new_book;
}
void search_book(struct Book* head, int id) {
struct Book* curr = head;
while (curr != NULL) {
if (curr->id == id) {
printf("Book found: %s by %s\n", curr->name, curr->author);
return;
}
curr = curr->next;
}
printf("Book not found.\n");
}
int main() {
struct Book* head = NULL;
insert_book(&head, create_book("The Great Gatsby", "F. Scott Fitzgerald", 1));
insert_book(&head, create_book("To Kill a Mockingbird", "Harper Lee", 2));
insert_book(&head, create_book("1984", "George Orwell", 3));
search_book(head, 2);
search_book(head, 4);
return 0;
}
```
在这个例子中,我们定义了一个 `Book` 结构体来表示一本书,其中包含了书名、作者和编号等信息。我们通过 `create_book` 函数来创建一个新的书籍节点,再通过 `insert_book` 函数将其插入到链表头部。最后,我们使用 `search_book` 函数来查找指定编号的书籍。如果找到了,则输出书名和作者信息;否则输出“Book not found.”。
阅读全文