课程设计---图书信息管理系统设计

本文介绍了如何设计和实现一个图书信息管理系统,包括管理读者、管理图书、图书查询、读者查询等功能,支持图书借阅、信息修改和排序操作。
摘要由CSDN通过智能技术生成

头文件library.h

/*********************************************************** 
* 版权所有 (C)2016,YangYaxin
* 
* 文件名称: library.h 
* 文件标识:无 
* 内容摘要:函数文件 
* 其它说明:各个模块函数 
* 当前版本: V5.0 
* 作 者:杨雅鑫
* 完成日期: 20161228
* 
* 修改记录1: 
* 修改日期 :201611027
* 版本号: V1.0 
* 修改人: 杨雅鑫 
* 修改内容:创建 
* 
* 修改记录2: 
* 修改日期: 20161128 
* 版本号: V2.0 
* 修改人: 杨雅鑫 
* 修改内容:模块建立1 
* 
* 修改记录3: 
* 修改日期: 20161205 
* 版本号: V2.1 
* 修改人: 杨雅鑫
* 修改内容:模块建立2 
* 
* 修改记录4: 
* 修改日期: 20161215
* 版本号: V3.0 
* 修改人: 杨雅鑫 
* 修改内容:模块建立3 
* 
* 修改记录5: 
* 修改日期: 20161224 
* 版本号: V4.0 
* 修改人: 杨雅鑫 
* 修改内容:整理函数 
* 
* 修改记录6: 
* 修改日期: 20161228
* 版本号: V5.0 
* 修改人: 杨雅鑫 
* 修改内容:界面整合 
**********************************************************/  


#include <iostream>  
using namespace std; 
#include<windows.h> 
#include <iomanip>
#include <stdio.h>  
#include <stdlib.h>  
#include <string.h> 
#include <time.h>
#include <iomanip>
#include <cstdlib>
#include <fstream>  
#define MAX 100
#define MaxSize 100   //100条记录
#define MAX1 5//学生的最大借阅数量
#define MAX2 10//教师的最大借阅数量
#define MAX3  100   //管理员最大借阅量  

typedef char InfoType[10];
typedef struct    //记录类型
{
	int key;    //关键字项
}RecType;      //排序的记录类型定义
//书的结构体
typedef struct book
{
	float price;  //图书单价
	int membernum;  //借书人的登录号
	char name[100]; //图书名
	long num; //图书编号
	char writername[20];//作者姓名
	char publish[50];//出版社名称
	int yes; //判断图书是否存在或已经借出,1存在 未借出,0借出
	struct book *next; //节点指针
}Book,*BookList;
//借书时间结构体
typedef struct Time
{
	int year;
	int month;
	int day;
}data;
//读者借的书的结构体
typedef struct BorrowBook
{
	long num;//借的书的编号
	struct Time time;//借书的时间
	struct Time borrowtime; //借书期限
}BBook;
//读者的结构体
typedef struct member
{
	char name[20];//读者姓名
	char sex;//读者性别,男为m,女为f
	long num;//读者的登录号
    int style; //读者类型,1:学生;2:教师;3:管理员;
	int max;//读者借书数目,初始为0
	int yes;//读者是否借书,1是,0否
	BBook t[MAX];//读者借的书的数组
	struct member *next;//结点指针
}Member,*MemberList;
//界面
void Face();//欢迎界面
void FaceDuSearch();//读者查询界面
void FaceBookSearch();//图书查询界面
void FaceDu();//读者管理界面
void FaceBook();//图书管理界面
//查询图书方式  
int BookSearch(BookList &);                 //图书查询菜单   
int Search_BookName(BookList &);            //按书名查询
int Search_BookNum(BookList &);             //按编号查询   
int Search_BookWritername(BookList &);      //按作者名查询  
int Search_Publish(BookList &);             //按出版社查询  
int Search_AllB(BookList &);                //查询所有图书信息  
//查询读者  
int MemberSearch(MemberList &);  
int Search_MemberName(MemberList &);            //按姓名查询  
int Search_MemberNum(MemberList &);            //按编号查询  
int Search_MemberSex(MemberList &);      //按性别查询  
int Search_AllM(MemberList &);         //查询所有读者信息 
Book *Init_B();//初始化图书链表
int BookAdd(BookList &);//增加图书
int BookDel(BookList &);//删除图书
int BookPai(BookList &);//排序图书
void ShellSort(RecType [],int);//希尔排序
int Member_Y(MemberList &,long ) ;  //判断是否为读者
int BookBorrow(BookList &,MemberList &);//图书借阅
int BookChange(BookList &);//修改图书信息
int BookReturn(BookList &,MemberList &);//还书
Member *Init_M(); //初始化读者链表
int MemberAdd(MemberList &);//增加读者
int MemberSearch(MemberList &);//查询读者
int MemberDel(MemberList &);//删除读者
int BorrowInfo(MemberList &);//借书信息
int MemberChange(MemberList &);//修改读者信息
int LimitTimeInfo(BookList &,MemberList &);//到期催还
//全局变量声明
extern RecType R[MaxSize];
extern int xer;  
extern int X[100]; 
各功能函数library.cpp

/*********************************************************** 
* 版权所有 (C)2016,YangYaxin 
* 
* 文件名称: library.cpp 
* 文件标识:无 
* 内容摘要:函数文件 
* 其它说明:各个模块函数 
* 当前版本: V5.0 
* 作 者:杨雅鑫 
* 完成日期: 20161228 
* 
* 修改记录1: 
* 修改日期 :20161205 
* 版本号: V1.0 
* 修改人: 杨雅鑫 
* 修改内容:创建 
* 
* 修改记录2: 
* 修改日期: 20161215 
* 版本号: V2.0 
* 修改人: 杨雅鑫
* 修改内容:模块建立1 
* 
* 修改记录3: 
* 修改日期: 20161216 
* 版本号: V2.1 
* 修改人: 杨雅鑫 
* 修改内容:模块建立2 
* 
* 修改记录4: 
* 修改日期: 20161220 
* 版本号: V3.0 
* 修改人: 杨雅鑫 
* 修改内容:模块建立3 
* 
* 修改记录5: 
* 修改日期: 20161224 
* 版本号: V4.0 
* 修改人: 杨雅鑫 
* 修改内容:整理函数 
* 
* 修改记录6: 
* 修改日期: 20161228
* 版本号: V5.0 
* 修改人: 杨雅鑫 
* 修改内容:界面整合 
**********************************************************/  
  


#include "library.h"
/********************************************************* 
* 功能描述:欢迎界面 
* 输入参数:无 
* 输出参数:无 
* 返回值  :无 
* 其它说明:界面1 
************************************************************/  
void Face()//欢迎界面
{
	system("color 3F");
	cout<<endl<<"          ┅┅┅┅欢迎进入图书管理系统┅┅┅┅"<<endl;
    cout<<"                ┏━━━━━━━━━━━┓"<<endl;
	cout<<"                ┃                      ┃"<<endl;
	cout<<"                ┃    ◆1◆管理图书     ┃"<<endl;
	cout<<"                ┃    ◆2◆管理读者     ┃"<<endl;
	cout<<"                ┃    ◆0◆退出系统     ┃"<<endl;
	cout<<"                ┃                      ┃"<<endl;
	cout<<"                ┗━━━━━━━━━━━┛"<<endl;
	cout<<"                   →请在此输入您的选择: ";
}
/********************************************************* 
* 功能描述:读者查询界面 
* 输入参数:无 
* 输出参数:无 
* 返回值  :无 
* 其它说明:界面2 
************************************************************/  
void FaceDuSearch()//读者查询界面
{
	cout<<"          ┏━━━━━━━━━━━━━┓"<<endl;
	cout<<"     	  ┃ ◆欢迎进入读者查询系统◆ ┃"<<endl;
	cout<<"          ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"          ┃★ ◎按姓名查询----(1)★┃"<<endl;
	cout<<"          ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"          ┃★ ◎按编号查询----(2)★┃"<<endl;
	cout<<"          ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"          ┃★ ◎按性别查询----(3)★┃"<<endl;
    cout<<"          ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"          ┃★ ◎查询所有信息--(4)★┃"<<endl;
    cout<<"          ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"          ┃★  ◎到期催还----(5) ★┃"<<endl;
	cout<<"          ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"          ┃★   0.退出----(ESC)  ★┃"<<endl;
	cout<<"          ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"          ┃  →请在此输入您的选择    ┃"<<endl;
	cout<<"          ┗━━━━━━━━━━━━━┛"<<endl;
}
/********************************************************* 
* 功能描述:图书查询界面 
* 输入参数:无 
* 输出参数:无 
* 返回值  :无 
* 其它说明:界面2 
************************************************************/  
void FaceBookSearch()//图书查询界面
{
    cout<<"         ┏━━━━━━━━━━━━━━┓"<<endl;
	cout<<"     	 ┃  #欢迎进入图书查询系统#    ┃"<<endl;
	cout<<"         ┣━━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎按书名查询---( 1 )★┃"<<endl;
	cout<<"         ┣━━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎按编号查询---( 2 )★┃"<<endl;
	cout<<"         ┣━━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎按作者名查询-( 3 )★┃"<<endl;
    cout<<"         ┣━━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎按出版社查询-( 4 )★┃"<<endl;
	cout<<"         ┣━━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎查询所有信息-( 5 )★┃"<<endl;
	cout<<"         ┣━━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★   0.退出----(ESC)    ★┃"<<endl;
	cout<<"         ┗━━━━━━━━━━━━━━┛"<<endl;
	cout<<"              →请在此输入您的选择    ";

}
/********************************************************* 
* 功能描述:读者管理界面 
* 输入参数:无 
* 输出参数:无 
* 返回值  :无 
* 其它说明:界面1 
************************************************************/  
void FaceDu()//读者管理界面
{
	cout<<"         ┏━━━━━━━━━━━━━┓"<<endl;
	cout<<"     	 ┃  #欢迎进入读者管理系统#  ┃"<<endl;
   	cout<<"         ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎增加读者----(1) ★┃"<<endl;
   	cout<<"         ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎查询读者----(2) ★┃"<<endl;
   	cout<<"         ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎删除读者----(3) ★┃"<<endl;
   	cout<<"         ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎借书信息----(4) ★┃"<<endl;
   	cout<<"         ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎修改信息----(5) ★┃"<<endl;
   	cout<<"         ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎到期催还----(6) ★┃"<<endl;
   	cout<<"         ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  0.退出----(ESC)   ★┃"<<endl;
	cout<<"         ┗━━━━━━━━━━━━━┛"<<endl;
	cout<<"              →请在此输入您的选择    ";

}
/********************************************************* 
* 功能描述:图书管理界面 
* 输入参数:无 
* 输出参数:无 
* 返回值  :无 
* 其它说明:界面1 
************************************************************/  
void FaceBook()//图书管理系统
{
    cout<<"         ┏━━━━━━━━━━━━━┓"<<endl;
	cout<<"     	 ┃  #欢迎进入图书管理系统#  ┃"<<endl;
   	cout<<"         ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎增加图书----(1) ★┃"<<endl;
   	cout<<"         ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎查询图书----(2) ★┃"<<endl;
   	cout<<"         ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎删除图书----(3) ★┃"<<endl;
   	cout<<"         ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎排序图书----(4) ★┃"<<endl;
   	cout<<"         ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎图书借阅----(5) ★┃"<<endl;
   	cout<<"         ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎修改图书----(6) ★┃"<<endl;
   	cout<<"         ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  ◎图书归还----(7)  ★┃"<<endl;
   	cout<<"         ┣━━━━━━━━━━━━━┫"<<endl;
	cout<<"         ┃★  0.退出----(ESC)   ★┃"<<endl;
	cout<<"         ┗━━━━━━━━━━━━━┛"<<endl;
	cout<<"              →请在此输入您的选择    ";

}
/********************************************************* 
* 功能描述:查询图书选择模块 
* 输入参数:0~6(对应相应功能) 
* 输出参数:相应界面 
* 返回值  :(1) 
* 其它说明:0是退出 
************************************************************/
int BookSearch(BookList &H) //图书查询菜单
{
	int m;
	while(m!=0)
	{
		FaceBookSearch();
		cin>>m;
		cout<<"------------------------------------------"<<endl;
        switch(m)
		{
		case 1:
			Search_BookName(H); //按书名查询
			break;
		case 2:
			Search_BookNum(H);//按编号查询
			break;
		case 3:
            Search_BookWritername(H);//按作者名查询
			break;
		case 4:
            Search_Publish(H);//按出版社查询
			break;
		case 5:
			Search_AllB(H);//查询所有图书信息
		case 0:
			br
目 录 1 需求分析 2 2 数据库的概念设计 2 3 数据库的逻辑设计 3 4 数据库的物理设计 4 5 应用程序设计 6 6 编程实现 10 总结与体会 13 致 谢 14 参考文献 15 数据库原理及应用课程设计报告 1 需求分析 1.1 任务和要求 用户有以下需求:建立读者档案;建立图书档案,建立书目索引;完成日常图书检索、借、还工作,对读者档案、图书档案、借、还系统的访问,必需进行身份验证。 1.2系统总体功能设计 图书管理系统主要提供的功能包括图书入库、借出、归还以及对读者的信息管理 。 (1) 图书借阅: 借阅图书时应按图书馆的规则进行借阅,例如不超过5本,如果已有超时借阅的图书,则在归还前不允许再借阅等等。 (2) 图书归还: 对于图书遗失或超期归还的情况应根据图书馆的规则进行处罚。 (3) 新图书信息入库: 建立图书信息库,以便读者进行查询和借阅。 (4) 图书信息管理: 图书因使用过久或信息过时需做下架处理,或者在读者借阅书籍时发生遗失的情况下需做遗失处理,这些都需要修改数据库关于书籍的信息。 (5) 读者信息管理: 对读者应该提供能办证、修改、注销;访问时要进行身份验证,办证、修改、注销应记录操作员编号、操作日期、理由、审批记录等功能 (6) 图书信息查询: 一般读者在借阅书籍前都需查询图书馆关于所借书籍的大概信息:该图书是否在馆—是否已借出—在馆中的书架号;除查询书籍外读者还可查询关于自身的信息:是否有超期未还的图书,还可借阅书籍数目等。 1.3软硬件运行环境及开发工具 Visual Basic 6.0 SQL Server 2000 2 数据库的概念设计 E-R模型图:
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值