c语言图书入库管理代码
时间: 2023-08-01 11:11:30 浏览: 92
以下是一个简单的C语言图书入库管理代码,仅供参考:
```c
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 100 // 最大书籍数量
struct Book {
char title[50];
char author[50];
int year;
int pages;
};
int main() {
struct Book books[MAX_BOOKS];
int num_books = 0;
int option = 0;
while (option != 4) {
printf("请选择操作:\n");
printf("1. 添加书籍\n");
printf("2. 显示所有书籍\n");
printf("3. 搜索书籍\n");
printf("4. 退出\n");
scanf("%d", &option);
printf("\n");
switch (option) {
case 1:
if (num_books >= MAX_BOOKS) {
printf("库存已满,无法添加书籍!\n");
break;
}
printf("请输入书籍信息:\n");
printf("书名:");
scanf("%s", books[num_books].title);
printf("作者:");
scanf("%s", books[num_books].author);
printf("出版年份:");
scanf("%d", &books[num_books].year);
printf("页数:");
scanf("%d", &books[num_books].pages);
num_books++;
printf("添加成功!\n\n");
break;
case 2:
if (num_books == 0) {
printf("暂无书籍!\n\n");
break;
}
printf("所有书籍:\n");
for (int i = 0; i < num_books; i++) {
printf("%s\t%s\t%d\t%d\n", books[i].title, books[i].author, books[i].year, books[i].pages);
}
printf("\n");
break;
case 3:
if (num_books == 0) {
printf("暂无书籍!\n\n");
break;
}
char keyword[50];
printf("请输入搜索关键字:");
scanf("%s", keyword);
printf("搜索结果:\n");
for (int i = 0; i < num_books; i++) {
if (strstr(books[i].title, keyword) != NULL || strstr(books[i].author, keyword) != NULL) {
printf("%s\t%s\t%d\t%d\n", books[i].title, books[i].author, books[i].year, books[i].pages);
}
}
printf("\n");
break;
case 4:
printf("谢谢使用!\n");
break;
default:
printf("无效的选项,请重新输入!\n\n");
break;
}
}
return 0;
}
```
此代码中,使用了结构体 `struct Book` 来存储书籍的信息,包括书名、作者、出版年份和页数。使用一个数组 `struct Book books[MAX_BOOKS]` 来存储所有书籍。程序提供了四个选项,分别是添加书籍、显示所有书籍、搜索书籍和退出。可以根据需要进行修改或扩展。