题目详情
创建一个图书馆图书管理系统,然后实现其中各项功能;
文章目录
- 一、界面展示
- 二、代码展示
- 三、功能测试
一、界面展示
1、系统主界面
2、图书管理界面
2.1图书管理主界面
2.2 显示图书信息界面
2.3连续新增图书界面
2.4图书查询成功界面
2.5删除图书信息相关界面
2.6修改图书信息相关界面
3、 读者管理界面
3.1修改读者信息选项界面
3.2最大可借书数小于已借书数提示界面
4、借还书登记模块
4.1借还书登记主界面
4.2借书登记成功界面
二、代码展示
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void APP(); //掉用子APP
void PrintMenu(); //主菜单界面打印
//图书馆里模块
void APP_01(); //调用子模块01功能
void PrintMenu_01(); //子菜单01界面打印
void ShowBook(); //显示图书信息
void AddBook(); //增加图书信息
void SearchBook(); //查找图书信息
void DeleteBook(); //删除图书信息
void ModifyBook(); //修改图书信息
//读者管理模块
void APP_02(); //调用子模块02功能
void PrintMenu_02(); //子菜单02界面打印
void ShowReader(); //显示读者信息
void AddReader(); //增加读者信息
void SearchReader(); //查找读者信息
void DeleteReader(); //删除读者信息
void ModifyReader(); //修改读者信息
//借(还)书模块
void APP_03(); //调用子模块03功能
void PrintMenu_03(); //子菜单03界面打印
void BorrowBook(); //借书登记函数
void ReturnBook(); //还书登记函数
//定义结构(读者管理系统)
struct book{
int num; //编号
char bookName[20]; //书名
char name[20]; //作者
char press[20]; //出版社
int stock; //库存
struct book *next;
};
struct book *head = NULL;
struct book *tail = NULL;
//定义结构(读者管理系统)
struct reader{
char num[20]; //读者编号
char name[20]; //读者姓名
char gender[20]; //读者性别
int num1; //当前可借书数量
int num2; //最大借书数量
struct reader *next;
};
struct reader *first = NULL;
struct reader *last = NULL;
int main()
{
APP();
}
//主菜单调用
void APP(){
int num = 1;
int flag = 1;
PrintMenu(); //打印菜单
scanf("%d",&num); //选择服务
while(flag){
switch(num){
case 1:
printf("1、图书管理:\n");
APP_01();
return;
case 2:
printf("2、读者管理:\n");
APP_02();
return;
case 3:
printf("3、借(记)管理:\n");
APP_03();
return;
case 0:
flag = 0;
printf("您已退出系统!\n");
return;
default:
printf("输入有误,请重新输入:\n");
scanf("%d",&num);
}
}
}
//主菜单打印
void PrintMenu(){
printf(" :---------------欢迎进入---------------: \n");
printf(" : 图书馆管理系统 : \n");
printf(" : 主菜单 : \n");
printf(" : 1、图书管理 : \n");
printf(" : 2、读者管理 : \n");
printf(" : 3、借(还)书登记 : \n");
printf(" : 0、exit(0) : \n");
printf(" :--------------------------------------: \n");
printf("请选择:(0 - 3): \n");
}
//图书管理模块
//01子菜单调用
void APP_01(){
int num = 1;
int flag = 1;
PrintMenu_01(); //打印子菜单01
scanf("%d",&num); //选择服务
while(flag){
switch(num){
case 1:
printf("1、显示图书信息:\n");
ShowBook();
scanf("%d",&num);
break;
case 2:
printf("2、新增图书信息:\n");
AddBook();
scanf("%d",&num);
break;
case 3:
printf("3、图书信息查询:\n");
SearchBook();
scanf("%d",&num);
break;
case 4:
printf("4、图书信息删除:\n");
DeleteBook();
scanf("%d",&num);
break;
case 5:
printf("5、图书信息修改:\n");
ModifyBook();
scanf("%d",&num);
break;
case 0:
flag = 0;
printf("返回主菜单!\n");
APP();
return;
default:
printf("输入有误,请重新输入:");
scanf("%d",&num);
break;
}
}
}
//01子菜单打印
void PrintMenu_01(){
printf(" :---------------欢迎进入---------------: \n");
printf(" : 图书馆管理系统 : \n");
printf(" : 子菜单 : \n");
printf(" : 1、显示图书信息 : \n");
printf(" : 2、新增图书信息 : \n");
printf(" : 3、图书信息查询 : \n");
printf(" : 4、图书信息删除 : \n");
printf(" : 5、图书信息修改 : \n");
printf(" : 0、返回主菜单 : \n");
printf(" :--------------------------------------: \n");
printf("请选择:(0 - 5): \n");
}
//显示图书信息
void ShowBook(){
struct book *p;
printf(":---------------------------------------------------------------------:\n");
printf(" 编号\t\t书名\t\t作者\t\t出版社\t\t库存\t\n");
if(head == NULL){
printf(":---------------------------------------------------------------------:\n");
return;
}else{
for(p = head; p != NULL; p = p->next){
printf(" %-13d",p->num);
printf("%-16s",p->bookName);
prin