下面是关于“C语言图书管理系统实验”的完整攻略:
一、实验目的
本次实验主要目的是让学生掌握 C 语言的基本语法,进一步了解结构体的使用,以及熟悉文件操作,实现一个简单的图书管理系统。
二、实验过程
-
首先,我们需要定义图书结构体,包括书名(name)、作者(author)、价格(price) 和库存(stock) 四个成员变量。
struct Book {
char name[64];
char author[32];
double price;
int stock;
}; -
接下来,我们需要编写菜单函数,向用户展示对图书进行的操作,包括添加(add)、删除(delete)、查找(search)、修改(update) 和显示所有图书(display) 五个选项。
void menu() {
printf("======== 图书管理系统 ========\n");
printf("请选择需要进行的操作:\n");
printf("[a] 添加一本图书\n");
printf("[d] 删除一本图书\n");
printf("[s] 查找图书信息\n");
printf("[u] 修改图书信息\n");
printf("[l] 显示所有图书\n");
printf("[q] 退出系统\n");
printf("==============================\n\n");
} -
接下来,我们需要定义函数实现各个选项的功能。比如添加图书函数:
void add_book(struct Book *book, int *count) {
printf("请输入书名:");
scanf("%s", book[*count].name);
printf("请输入作者:");
scanf("%s", book[*count].author);
printf("请输入价格:");
scanf("%lf", &book[*count].price);
printf("请输入库存:");
scanf("%d", &book[*count].stock);
printf("添加图书成功!\n\n");
*count += 1; // 更新图书数量
} -
对于删除图书、查找图书、修改图书信息和显示所有图书等选项,我们也需要实现相应的函数。
-
在主函数中,我们需要不断地显示菜单、等待用户输入,并根据用户的选择进行相应的操作。
```
int main() {
struct Book books[100];
int count = 0; // 记录图书数量while (1) { menu(); char choice; printf("请输入选项:"); scanf(" %c", &choice); switch (choice) { case 'a': add_book(books, &count); break; case 'd': delete_book(books, &count); break; case 's': search_book(books, count); break; case 'u': update_book(books, count); break; case 'l': display_books(books, count); break; case 'q': printf("谢谢使用,再见!\n"); return 0; // 退出程序 default: printf("输入有误,请重新输入!\n\n"); break; } } return 0;
}
```
三、示例说明
示例 1:查找图书信息
假设需要查找图书《C程序设计语言》的信息,可以选择菜单中的“查找图书信息”选项,然后输入对应的书名。程序将会遍历所有图书,找到书名为《C程序设计语言》的图书,并输出其作者、价格和库存信息。
请选择需要进行的操作:
[a] 添加一本图书
[d] 删除一本图书
[s] 查找图书信息
[u] 修改图书信息
[l] 显示所有图书
[q] 退出系统
请输入选项:s
请输入要查找的书名:C程序设计语言
查找结果如下:
《C程序设计语言》 作者:Brian W. Kernighan 价格:49.98 库存:13
示例 2:修改图书信息
假设需要将书名为《C++ Primer Plus》的图书的库存信息从 5 改成 10,可以选择菜单中的“修改图书信息”选项,然后按照提示输入对应的书名和将要修改的库存信息。程序将会遍历所有图书,找到书名为《C++ Primer Plus》的图书,并修改其库存信息。
请选择需要进行的操作:
[a] 添加一本图书
[d] 删除一本图书
[s] 查找图书信息
[u] 修改图书信息
[l] 显示所有图书
[q] 退出系统
请输入选项:u
请输入要修改的书名:C++ Primer Plus
请输入新的库存数:10
修改图书信息成功!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言图书管理系统实验 - Python技术站