本系统实现了书籍的入库出库借书以及还书的系统
//要求:使用结构体完成图书馆出库、入库、借书、还书功能
#include <stdio.h>
#include <string.h>
int n = 0;//系统总数
struct book {
char a[20];//书籍名称
int b;//书籍编号
char c[20];//作者
int d;//数量
} arr[100];
void showfuction(); //功能栏
void bookfile();//查看菜单
void menu(int);//菜单链接
void ruku();//入库
void chuku();//出库
void borrowbook();//借书
void returnbook();//还书
int main() {
showfuction();
int x;
scanf("%d", &x);
while (x >= 1 && x <= 5) {
menu(x);
scanf("%d", &x);
}
printf("欢迎下次使用!");
return 0;
}
void showfuction() {
printf("################菜单栏################\n");
printf("### ###\n");
printf("### 请输入想要实现的功能选项 ###\n");
printf("### 1、书籍入库 ###\n");
printf("### 2、书籍出库 ###\n");
printf("### 3、借书 ###\n");
printf("### 4、还书 ###\n");
printf("### 5、查看书单 ###\n");
printf("### 6、退出系统 ###\n");
printf("### ###\n");
printf("################菜单栏################\n");
}
void bookfile() {
if (n == 0) {
printf("暂无书籍\n");
} else {
for (int i = 0; i < n; i++) {
printf("书籍名称:%s 编号:%d 作者:%s 数量:%d\n", arr[i].a, arr[i].b, arr[i].c, arr[i].d);
}
}
}
void ruku() {
printf("请输入入库书籍的种类:\n");
int m;
scanf("%d", &m);
for (int i = n, j = 1; i < m + n; i++, j++) {
printf("现在输入第%d种书:\n", j);
scanf("%s%d%s%d", arr[i].a, &arr[i].b, arr[i].c, &arr[i].d);
}
n = n + m;
printf("入库成功!\n");
}
void chuku() {
printf("请输入出库书籍的编号:\n");
int s;
scanf("%d", &s);
if (n == 0) {
printf("暂无书籍\n");
} else {
for (int i = 0; i < n; i++) {
if (arr[i].b == s) {
for (int j = i; j < 100; j++) {
struct book temp;
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
n--;
}
}
}
printf("出库成功!\n");
}
void borrowbook() {
printf("请输入您要借书的书籍编号:\n");
int y;
scanf("%d", &y);
for (int i = 0; i < n; i++) {
if (arr[i].b == y) {
arr[i].d--;
printf("借书成功!\n");
}
}
}
void returnbook() {
printf("请输入您要还书的书籍编号:\n");
int y;
scanf("%d", &y);
for (int i = 0; i < n; i++) {
if (arr[i].b == y) {
arr[i].d++;
printf("还书成功!\n");
}
}
}
void menu(int t) {
switch (t) {
case 1:
ruku();
showfuction();
break;
case 2:
chuku();
showfuction();
break;
case 3:
borrowbook();
showfuction();
break;
case 4:
returnbook();
showfuction();
break;
case 5:
bookfile();
showfuction();
break;
default:
break;
}
}
以四大名著的入库出库等一系列操作为例:
1.入库函数
查看书单:
2.出库函数
我把西游记出库:
查看书单:
西游记出库成功。
3.借书函数
查看书单:
借了一本三国演义,书本数量由12->11.
4.还书函数:
查看书单:
归还三国演义,书本数量由11->12;
5.退出系统:
欢迎下次使用!