【挑战开发100个项目 | 2. C语言图书管理系统】

本项目是一个基于C语言的简单图书管理系统,用户可以通过命令行界面实现图书的添加、删除、修改、查找以及列出所有图书的功能。适用于初学者学习c语言,也适用于高校学生课程设计,毕业设计参考。


一,开发环境需求

  • 操作系统 :Windows, Linux

  • 开发环境工具 :QT, VSCode, Visual Studio

  • 技术要求

    • C 语言
    • 文件I/O操作
    • 结构体与字符串处理

二,功能说明

【挑战开发100个项目 | 2. C语言图书管理系统】_第1张图片


三,功能实现

  1. 添加图书
void addBook(void) {
    Book newBook;
    printf("请输入书名:");
    scanf("%s", newBook.title);
    printf("请输入作者:");
    scanf("%s", newBook.author);
    printf("请输入ISBN:");
    scanf("%s", newBook.ISBN);
    printf("请输入出版日期:");
    scanf("%s", newBook.pub_date);

    writeFile(newBook); // 调用 fileops.c 中的函数写入文件
}
  1. 删除图书
void deleteBook(void) {
    char ISBN[20];
    printf("请输入要删除图书的ISBN:");
    scanf("%s", ISBN);
    deleteFromFile(ISBN);
}
  1. 修改图书
void modifyBook(void) {
    char ISBN[20];
    Book modifiedBook;
    printf("请输入要修改的图书的ISBN:");
    scanf("%s", ISBN);
    printf("请输入新的书名:");
    scanf("%s", modifiedBook.title);
    printf("请输入新的作者:");
    scanf("%s", modifiedBook.author);
    printf("请输入新的出版日期:");
    scanf("%s", modifiedBook.pub_date);

    modifyInFile(ISBN, modifiedBook);
}
  1. 查找图书
void findBook(void) {
    char keyword[100];
    printf("请输入书名或作者进行搜索:");
    scanf("%s", keyword);
    findInFile(keyword);
}
  1. 列出所有图书
void listFromFile(void) {
    FILE *fp = fopen(FILE_PATH, "r");
    char line[256];
    if (fp) {
        while (fgets(line, sizeof(line), fp)) {
            printf("%s", line);
        }
        fclose(fp);
    } else {
        printf("打开文件失败\n");
    }
}

四,效果图

【挑战开发100个项目 | 2. C语言图书管理系统】_第2张图片


五,源码

代码已开源,可访问gitee下载。


六,总结

本项目通过C语言简洁有效地实现了一个图书管理系统。整体设计考虑了易用性和扩展性,将文件操作与主逻辑分离,使得代码结构清晰,便于后续维护和扩展。希望该项目能为学习C语言的学生或开发者提供一个参考。

你可能感兴趣的:(AI写的100个项目,c语言,开发语言)