C语言实现图书管理系统:文件存储、增删改查、借阅管理

这篇博客文章提供了一个用 C 语言构建的图书管理系统的全面指南。该系统包含以下功能:

  • 文件存储: 使用文本文件存储图书信息,实现数据的持久化。
  • 链表操作: 使用链表存储图书记录,方便进行增删改查操作。
  • 增删改查: 提供添加、删除、修改和查找图书的功能。
  • 借阅管理: 实现图书借阅和归还功能。

代码示例

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct Node {
    char bookCode[20];
    char bookName[50];
    char author[50];
    char publisher[50];
    char bookkind[50];
    char bookkinds[50];
    float price;
    int quantity;
    int borrowed;
    struct Node *next;
} BookNode;

BookNode *head = NULL;

void loadBookData() {
    FILE *file = fopen('book_storage.txt', 'r');
    if (file == NULL) {
        return;
    }

    while (!feof(file)) {
        BookNode *newNode = (BookNode *)malloc(sizeof(BookNode));
        fscanf(file, '%s', newNode->bookCode);
        fscanf(file, '%s', newNode->bookName);
        fscanf(file, '%s', newNode->author);
        fscanf(file, '%s', newNode->publisher);
        fscanf(file, '%s', newNode->bookkind);
        fscanf(file, '%s', newNode->bookkinds);
        fscanf(file, '%f', &newNode->price);
        fscanf(file, '%d', &newNode->quantity);
        fscanf(file, '%d', &newNode->borrowed);
        newNode->next = NULL;

        if (head == NULL) {
            head = newNode;
        } else {
            BookNode *current = head;
            while (current->next != NULL) {
                current = current->next;
            }
            current->next = newNode;
        }
    }

    fclose(file);
}

// ... 其他函数定义 ...

int main() {
    loadBookData();

    // ... 主程序逻辑 ...

    return 0;
}

代码说明

  • BookNode 结构体定义了图书信息的结构,包括图书编号、书名、作者、出版社、种类、价格、数量和借阅状态等。
  • loadBookData 函数从 'book_storage.txt' 文件中加载图书数据到链表中。
  • 代码中省略了其他函数的定义,例如 saveBookDataaddBookdeleteBookmodifyBooksearchBookborrowBookreturnBookdisplayBook 等,这些函数的实现可以参考注释中的功能描述。

总结

本篇文章提供了一个简单的图书管理系统的 C 语言实现,展示了如何使用文件存储、链表操作以及实现基本的图书管理功能。您可以根据自己的需要扩展该系统,例如添加用户管理、借阅期限等功能。

C语言实现图书管理系统:文件存储、增删改查、借阅管理

原文地址: https://www.cveoy.top/t/topic/fv2A 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录