C语言实现图书管理系统

这篇文章展示了如何使用C语言创建一个简单的图书管理系统。该系统支持以下功能:

  • 添加图书信息
  • 删除图书信息
  • 修改图书信息
  • 查找图书信息
  • 显示所有图书信息

代码实现

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

#define MAX_SIZE 1000

typedef struct {
    char bookCode[20];
    char bookName[50];
    char author[50];
    char publisher[50];
    char bookkind[50];
    char bookkinds[50];
    int quantity;
} Book;

Book bookList[MAX_SIZE];
int count = 0;

// 从文件加载图书数据
void loadBookData() {
    FILE *file = fopen('book_storage.txt', 'r');
    if (file == NULL) {
        return;
    }

    while (fscanf(file, '%s', bookList[count].bookCode) != EOF) {
        fscanf(file, '%s', bookList[count].bookName);
        fscanf(file, '%s', bookList[count].author);
        fscanf(file, '%s', bookList[count].publisher);
        fscanf(file, '%s', bookList[count].bookkind);
        fscanf(file, '%s', bookList[count].bookkinds);
        fscanf(file, '%d', &bookList[count].quantity);
        count++;
    }

    fclose(file);
}

// 将图书数据保存到文件
void saveBookData() {
    FILE *file = fopen('book_storage.txt', 'w');
    if (file == NULL) {
        printf('无法保存图书信息!\n');
        return;
    }

    int i;
    for (i = 0; i < count; i++) {
        fprintf(file, '%s\n', bookList[i].bookCode);
        fprintf(file, '%s\n', bookList[i].bookName);
        fprintf(file, '%s\n', bookList[i].author);
        fprintf(file, '%s\n', bookList[i].publisher);
        fprintf(file, '%s\n', bookList[i].bookkind);
        fprintf(file, '%s\n', bookList[i].bookkinds);
        fprintf(file, '%d\n', bookList[i].quantity);
    }

    fclose(file);
}

// 添加图书信息
void addBook() {
    // ...
}

// 删除图书信息
void deleteBook() {
    // ...
}

// 修改图书信息
void modifyBook() {
    // ...
}

// 查找图书信息
void searchBook() {
    // ...
}

// 显示所有图书信息
void displayBook() {
    // ...
}

int main() {
    loadBookData();

    while (1) {
        // 显示菜单并获取用户选择
        // ...

        switch (choice) {
            case 1:
                addBook();
                break;
            case 2:
                deleteBook();
                break;
            case 3:
                modifyBook();
                break;
            case 4:
                searchBook();
                break;
            case 5:
                displayBook();
                break;
            case 0:
                saveBookData();
                printf('感谢使用,再见!\n');
                exit(0);
            default:
                printf('输入有误,请重新输入!\n');
                break;
        }
    }

    return 0;
}

代码说明

  • Book 结构体用于存储每本书的信息,包括图书编号、书名、作者、出版社、图书种类、种类编号和数量。
  • bookList 数组用于存储所有图书信息,最大容量为 MAX_SIZE
  • loadBookData() 函数从文件加载图书数据到 bookList 数组中。
  • saveBookData() 函数将 bookList 数组中的图书数据保存到文件。
  • addBook()deleteBook()modifyBook()searchBook()displayBook() 函数分别实现添加、删除、修改、查找和显示图书信息的功能。
  • main() 函数是程序的入口点,负责显示菜单、获取用户选择并调用相应的函数执行操作。

总结

这是一个简单的C语言图书管理系统示例,你可以根据自己的需求扩展更多功能,例如借阅和归还图书等。

C语言图书管理系统:增删改查功能实现

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

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