本系统实现了书籍的入库出库借书以及还书的系统
//要求:使用结构体完成图书馆出库、入库、借书、还书功能 #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.退出系统:
欢迎下次使用!