本项目是一个基于C语言的简单图书管理系统,用户可以通过命令行界面实现图书的添加、删除、修改、查找以及列出所有图书的功能。适用于初学者学习c语言,也适用于高校学生课程设计,毕业设计参考。
一,开发环境需求
-
操作系统 :Windows, Linux
-
开发环境工具 :QT, VSCode, Visual Studio
-
技术要求:
- C 语言
- 文件I/O操作
- 结构体与字符串处理
二,功能说明
三,功能实现
- 添加图书
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 中的函数写入文件
}
- 删除图书
void deleteBook(void) {
char ISBN[20];
printf("请输入要删除图书的ISBN:");
scanf("%s", ISBN);
deleteFromFile(ISBN);
}
- 修改图书
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);
}
- 查找图书
void findBook(void) {
char keyword[100];
printf("请输入书名或作者进行搜索:");
scanf("%s", keyword);
findInFile(keyword);
}
- 列出所有图书
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");
}
}
四,效果图
五,源码
代码已开源,可访问gitee下载。
六,总结
本项目通过C语言简洁有效地实现了一个图书管理系统。整体设计考虑了易用性和扩展性,将文件操作与主逻辑分离,使得代码结构清晰,便于后续维护和扩展。希望该项目能为学习C语言的学生或开发者提供一个参考。