本项目是一个基于C语言的简单图书管理系统,用户可以通过命令行界面实现图书的添加、删除、修改、查找以及列出所有图书的功能。适用于初学者学习c语言,也适用于高校学生课程设计,毕业设计参考。
操作系统 :Windows, Linux
开发环境工具 :QT, VSCode, Visual Studio
技术要求:
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语言的学生或开发者提供一个参考。