用C语言实现书籍管理系统
时间: 2024-09-10 22:11:00 浏览: 32
用C语言实现书籍管理系统可以通过定义结构体来存储书籍信息,并使用数组或链表来管理这些结构体。基本的书籍信息通常包括书名、作者、ISBN、出版日期等。然后可以实现增删改查等基本功能来对书籍信息进行管理。
下面是一个简单的书籍管理系统的基本框架:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义书籍结构体
typedef struct Book {
char title[50]; // 书名
char author[50]; // 作者
char isbn[20]; // 国际标准书号
char pub_date[20]; // 出版日期
} Book;
// 函数声明
void addBook(Book books[], int *count);
void deleteBook(Book books[], int *count);
void listBooks(const Book books[], int count);
void findBook(const Book books[], int count);
int main() {
Book books[100]; // 假设最多存储100本书
int count = 0; // 当前书籍数量
// 主菜单
int choice;
do {
printf("\n书籍管理系统\n");
printf("1. 添加书籍\n");
printf("2. 删除书籍\n");
printf("3. 列出所有书籍\n");
printf("4. 查找书籍\n");
printf("0. 退出\n");
printf("请输入你的选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
addBook(books, &count);
break;
case 2:
deleteBook(books, &count);
break;
case 3:
listBooks(books, count);
break;
case 4:
findBook(books, count);
break;
case 0:
printf("退出系统。\n");
break;
default:
printf("无效的选项,请重新输入。\n");
break;
}
} while (choice != 0);
return 0;
}
// 实现添加书籍的功能
void addBook(Book books[], int *count) {
if (*count >= 100) {
printf("书库已满,无法添加新书。\n");
return;
}
printf("输入书名:");
scanf("%s", books[*count].title);
printf("输入作者:");
scanf("%s", books[*count].author);
printf("输入ISBN:");
scanf("%s", books[*count].isbn);
printf("输入出版日期:");
scanf("%s", books[*count].pub_date);
(*count)++;
printf("书籍添加成功。\n");
}
// 实现删除书籍的功能
void deleteBook(Book books[], int *count) {
char isbn[20];
printf("输入要删除的书籍ISBN:");
scanf("%s", isbn);
for (int i = 0; i < *count; i++) {
if (strcmp(books[i].isbn, isbn) == 0) {
for (int j = i; j < *count - 1; j++) {
books[j] = books[j + 1];
}
(*count)--;
printf("书籍删除成功。\n");
return;
}
}
printf("未找到ISBN为%s的书籍。\n", isbn);
}
// 实现列出所有书籍的功能
void listBooks(const Book books[], int count) {
printf("\n书库中的书籍:\n");
for (int i = 0; i < count; i++) {
printf("书名:%s, 作者:%s, ISBN:%s, 出版日期:%s\n",
books[i].title, books[i].author, books[i].isbn, books[i].pub_date);
}
}
// 实现查找书籍的功能
void findBook(const Book books[], int count) {
char isbn[20];
printf("输入要查找的书籍ISBN:");
scanf("%s", isbn);
for (int i = 0; i < count; i++) {
if (strcmp(books[i].isbn, isbn) == 0) {
printf("找到书籍:书名:%s, 作者:%s, ISBN:%s, 出版日期:%s\n",
books[i].title, books[i].author, books[i].isbn, books[i].pub_date);
return;
}
}
printf("未找到ISBN为%s的书籍。\n", isbn);
}
```
这是一个简单的书籍管理系统的实现,它提供了添加、删除、列出和查找书籍的基本功能。需要注意的是,这个例子仅用于演示目的,实际开发中可能需要更复杂的功能和更健壮的错误处理机制。