图书管理系统c语言
时间: 2023-07-03 22:25:41 浏览: 71
图书管理系统 C语言
5星 · 资源好评率100%
好的,以下是一个简单的图书管理系统的C语言代码,仅供参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_BOOKS 100
// 定义书籍结构体
typedef struct book {
char title[50]; // 书名
char author[50]; // 作者
int year; // 出版年份
int stock; // 库存
} Book;
// 定义全局变量books来存储所有的书籍
Book books[MAX_BOOKS];
int num_books = 0; // 记录当前书籍数目
// 添加一本书籍
void add_book() {
if (num_books >= MAX_BOOKS) {
printf("书籍数量已达上限,无法添加新的书籍。\n");
return;
}
Book b;
printf("请输入书籍信息:\n");
printf("书名:");
scanf("%s", b.title);
printf("作者:");
scanf("%s", b.author);
printf("出版年份:");
scanf("%d", &b.year);
printf("库存:");
scanf("%d", &b.stock);
books[num_books++] = b;
printf("成功添加一本书籍!\n");
}
// 搜索一本书籍
void search_book() {
char title[50];
printf("请输入要搜索的书籍名称:");
scanf("%s", title);
int found = 0;
for (int i = 0; i < num_books; i++) {
if (strcmp(books[i].title, title) == 0) {
printf("书名:%s\n", books[i].title);
printf("作者:%s\n", books[i].author);
printf("出版年份:%d\n", books[i].year);
printf("库存:%d\n", books[i].stock);
found = 1;
break;
}
}
if (!found) {
printf("没有找到该书籍。\n");
}
}
// 显示所有书籍
void list_books() {
if (num_books == 0) {
printf("图书馆暂无书籍。\n");
return;
}
printf("所有书籍如下:\n");
for (int i = 0; i < num_books; i++) {
printf("书名:%s,作者:%s,出版年份:%d,库存:%d\n", books[i].title, books[i].author, books[i].year, books[i].stock);
}
}
// 借出一本书籍
void borrow_book() {
char title[50];
printf("请输入要借出的书籍名称:");
scanf("%s", title);
int found = 0;
for (int i = 0; i < num_books; i++) {
if (strcmp(books[i].title, title) == 0) {
if (books[i].stock <= 0) {
printf("该书籍已被借完,无法借出。\n");
} else {
books[i].stock--;
printf("成功借出一本书籍!\n");
printf("书名:%s,作者:%s,出版年份:%d,库存:%d\n", books[i].title, books[i].author, books[i].year, books[i].stock);
}
found = 1;
break;
}
}
if (!found) {
printf("没有找到该书籍。\n");
}
}
// 归还一本书籍
void return_book() {
char title[50];
printf("请输入要归还的书籍名称:");
scanf("%s", title);
int found = 0;
for (int i = 0; i < num_books; i++) {
if (strcmp(books[i].title, title) == 0) {
books[i].stock++;
printf("成功归还一本书籍!\n");
printf("书名:%s,作者:%s,出版年份:%d,库存:%d\n", books[i].title, books[i].author, books[i].year, books[i].stock);
found = 1;
break;
}
}
if (!found) {
printf("没有找到该书籍。\n");
}
}
// 主函数
int main() {
int choice;
while (1) {
printf("\n图书馆管理系统\n");
printf("1. 添加书籍\n");
printf("2. 搜索书籍\n");
printf("3. 显示所有书籍\n");
printf("4. 借出书籍\n");
printf("5. 归还书籍\n");
printf("6. 退出系统\n");
printf("请输入您的选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_book();
break;
case 2:
search_book();
break;
case 3:
list_books();
break;
case 4:
borrow_book();
break;
case 5:
return_book();
break;
case 6:
printf("感谢使用图书馆管理系统,再见!\n");
exit(0);
default:
printf("无效的选择,请重新输入。\n");
}
}
return 0;
}
```
这段代码实现了一个基本的图书管理系统,可以添加、搜索、显示、借出和归还书籍。需要注意的是,这只是一个简单的示例,实际应用中可能需要更加完善和复杂的代码来实现更多的功能和需求。
阅读全文