图书管理系统
任务背景:
18级软件工程大一上学期C语言课程设计。
编写目的:
把学习的C语言知识运用到实际上,强化能力。
任务描述:
C语言编程模拟一个简单的图书管理系统,主要包括图书的库存信息,每一本书的借阅信息以及每一个人的借书信息。
系统功能:
(1)借阅资料管理(对相关资料进行添加,删除,修改,查询等操作)
(2)借阅管理(包括借出操作,还书操作,续借处理)
(3)读者管理(定义读者借书数量和相关的借阅时间等信息)
(4)统计分析(当前借阅和相关资料状态,资料状态统计,借阅统计)
系统设计分析(程序流程图,函数模块分析):
程序源代码:
添加链接描述
/*图书管理系统 终极确定版*/
#include<stdio.h>
#include<stdlib.h> //有system函数
#include<conio.h> //有通过控制台进行数据输入和数据输出的函数
#include<string.h> //有字符数组
#include<math.h>
#define LEN sizeof(struct library)//有关图书信息的结构体
#define LEN1 sizeof(struct reader) //有关读者信息的结构体
struct library//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%图书馆结构体
{
int xcl;//库存
float price;//单价
char name[20],author[20],chuban[20],kind[20],shuhao[20];
struct library *next;
};
struct reader//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%读者结构体
{
int zhenghao;
char mingzi[20],riqi[20],zname[20];
struct reader *next;
};
void mainmenu()//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~主菜单
{
system ("cls");//清除屏幕先前显示的内容 ,往下运行(在stdlib.h头文件中)
printf("\n\n\n ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ ");
printf("\n\n\n 1.__库存图书信息__\n\n");
printf("\n\n 2.__借阅图书系统__\n\n");
printf("\n\n 3.__退出管理系统__\n\n");
//printf("\n\n ^~^请您按键选择and回车确定哦~.~\n\n\n");
printf(" ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ ^.^ \n");
}
void menu1() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~显示 图书信息 菜单
{
system ("cls");
printf("\n\n\n ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ ");
printf("\n\n 1.__图书入库__\n\n");
printf("\n 2.__图书清理__\n\n");
printf("\n 3.__图书查询__\n\n");
printf("\n 4.__库存概览__\n\n");
printf("\n 5..返回上一层..\n\n");
//printf("\n ^~^请您按键选择and回车确定哦*.*\n\n");
printf(" ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ ^~^ \n");
}
void menu2() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~显示 借阅系统 菜单
{
system ("cls");
printf("请输入书号,书名,作者或类别查询:\n");
printf("类别(科学技术 语言文学 政治经济 历史地理 意识形态 艺术)\n\n");
}
void main1()//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~main1函数
{
void tsgxx();//声明 图书馆信息 函数
void jieshuxitong();//声明 借书系统 函数
char choose;
mainmenu();//显示主菜单
scanf("%c",&choose);
switch(choose)//功能函数选择
{
case '1': tsgxx();
break;
case '2': jieshuxitong();
break;
case '3': system ("cls");
printf("\n\n\n 删改内容已经保存了呢 ^、^\n\n\n 任意键安全退出哦 ^、^\n\n");
exit(0);//exit关闭所有文件,终止正在执行的程序。exit(0):正常退出
break;
}
}
void tsgxx()//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~图书馆信息函数
{
void tsjinku();//声明 图书进库 函数
void shanchu();//声明 删除图书信息 函数
void chaxunts();//声明 查询图书 函数
void kucunxinxi();//声明 显示库存 函数
char choose;
menu1();//显示 图书信息 菜单
getchar();//吞掉一个显示出menu1函数后的进行下一步的回车
scanf("%c",&choose);
for (;;)//在返回上一级前循环输入 //???
switch(choose)
{
case '1': tsjinku();
break;
case '2': shanchu();
break;
case '3': chaxunts();
break;
case '4': kucunxinxi();
break;
case '5': main1();//返回上一级
break;
}
}
int kucungs()//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~