数据库系统原理课程设计 -----图书借阅管理系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库系统原理课程设计 -----图书借阅管理系统相关的知识,希望对你有一定的参考价值。

用Sql server 2000和宿主语言(第三方语言)制作一个小型管理系统。所设计的小型管理系统应包含输入输出、查询、插入、删除等基本功能。根据课程设计1周时间的安排选择适当大小的设计课题,课题的选择可以是实际问题,也可以是虚构的问题
(5) 源程序有尽可能多的注释
(6) 功能菜单项要超过8个
(7) 有查询功能
(8) 能对数据进行增加、删除、修改
(9) 由2个以上数据报表(源程序和可执行程序、课程设计说明书(word文档和打印稿)
可选内容有
8、 图书借阅管理系统(这个是本人想做的)
18、 员工培训管理信息系统
28、 打字店文档管理系统
38、 运动会管理系统
48、 高校科研管理系统
希望是用java编写的,VC++我不会用数据库连接和图形界面,VB干脆就是不会啊..大家只给出部分答案也是可以的,(如:如何输入输出、查询、插入、删除等的sql语句,或是 如何将这些语句与java连接)
哪怕是只给出sql表的样式都有分啊
请一楼不要纯超他人答案,这个我知道!

#include <string.h>
#include <iostream.h>

class Book // 书籍基类
protected:
char Title[40]; // 书名
long Code; // 条码
int Type; // 0表示书,1表示杂志
public:
Book();
Book(char *title,long code);
void SetCode(long code) Code = code;
void SetTitle(char* tl) strcpy(Title,tl);
void SetType(bool type)Type = type;
int GetType() return Type;
long GetCode() return Code;
virtual void Show(); // 显示书的信息
friend ostream& operator<<(ostream& , Book&); // 重载插入运算符
friend istream& operator>>(istream& is, Book&); // 重载提取运算符
Book *Next; // 为创建每个读者所借书链表而定义指针
;

class Item :public Book //书的款目
// char Title[40]; // 书名
char Author[20]; // 著者名
char IndexCode[10]; // 分类号
// long Code; // 条码
public:
Item();
Item(char *author,char *title,char *index,int code);
Item(Item &);
void SetAuthor(char*);
void SetIndexCode(char*);
virtual void Show(); // 显示书的信息
friend ostream& operator<<(ostream& os, Item&); // 重载插入运算符
friend istream& operator>>(istream& is, Item&); // 重载提取运算符
public:

;

class Magazine:public Book //杂志类
int Volume;
enum LANG CHINESE=1,ENGLISH Lang; // 枚举变量,确定语言类别
public:
Magazine():Book()Volume = 0; Lang = CHINESE; Type = 1;
Magazine(char *title,int vol,LANG lang,int code);
Magazine(Magazine&);
void SetVolume(int vol)Volume = vol;
void SetLang(int lang)Lang = (LANG)lang;
virtual void Show(); // 显示杂志的信息
friend ostream& operator<<(ostream& os, Magazine&); // 重载插入运算符
friend istream& operator>>(istream& is, Magazine&); // 重载提取运算符
;

class Reader // 读者信息类

char Name[20]; // 姓名
char Position[20]; // 职务
int Age; // 年龄
long Code; // 借书证号
Book* items; // 所借书链表
public:
Reader();
Reader(char *name,char *posi,int age,int code);
// Reader(Reader&);
~Reader();
long GetCode()return Code;
void SetName(char*);
void SetPosition(char*);
void SetAge(int);
void SetCode(long);
void AddBook(Item); // 添加所借书
void AddBook(Magazine); // 添加所借杂志
void DelBook(Book it); // 还书后减少所借书
void ShowBooks(); // 显示所借书
void Show(); // 显示读者信息
friend ostream& operator<<(ostream& os, Reader&); // 重载插入运算符
friend istream& operator>>(istream& is, Reader&); // 重载提取运算符
public:
int Counter; //计数器,统计所借书数目
;

class Manager // 管理员类
char Name[20]; // 姓名
int Age; // 年龄
int Code; // 工号
friend class Library; // 将图书馆类声明为友元
public:
Manager()
Manager(char*,int,int);
long GetCode() return Code;
void Show();
friend ostream& operator<<(ostream& os, Manager&); // 重载插入运算符
friend istream& operator>>(istream& is, Manager&); // 重载提取运算符
;

class Loan // 借阅信息类
int Type; // 0表示书,1表示杂志
Item item; // 借阅书
Magazine mag; // 借阅杂志
Reader reader; // 借阅者
Manager manager; // 借书操作员
int Code;
friend class Library; // 将图书馆类声明为友元
public:
Loan()
Loan(Loan & l);
int GetCode() return Code;
void Show();
friend ostream& operator<<(ostream& os, Loan&); // 重载插入运算符
friend istream& operator>>(istream& is, Loan&); // 重载提取运算符
;
、、、、、、、、、、、、、、、、、、、、、、、
#include<iostream.h>
#include<string.h>
class Reader;
template<typename T> class DblList;
template<typename T> class DblNode
public:
T Info;//数据域
DblNode<T> *llink,*rlink; //前驱(左链)、后继(右链)指针
public:
DblNode(T data);//一般结点
DblNode();//头结点
T GetInfo()return Info;;
friend class DblList<T>;
friend class Library;
;

template<typename T>class DblList
DblNode<T> *head,*current;
public:
DblList();
~DblList();
void Insert(const T& data);
DblNode<T>* Remove(DblNode<T>* p);
void Print();
int Length();//计算链表长度
DblNode<T> *Find(T data);//搜索数据与定值相同的结点
DblNode<T>* Find(int data);//按某个关键字查找
void MakeEmpty(); //清空链表
void ShowList(); //显示链表各结点
friend istream& operator>>(istream&, DblList<typename T>&); // 重载输入流运算符

friend ostream& operator<<(ostream& os, DblList<typename T>& dlist); // 重载输出流运算符
friend class Library;
//其它操作
;

template<typename T> DblNode<T>::DblNode()
llink=rlink=NULL;

template<typename T> DblNode<T>::DblNode(T data)
info=data;
llink=NULL;
rlink=NULL;


template<typename T> DblList<T>::DblList()//建立表头结点
head=new DblNode<T>();
head->rlink=head->llink=head;
current=NULL;

template<typename T> DblList<T>::~DblList()
MakeEmpty();//清空链表
delete head;

template<typename T> void DblList<T>::MakeEmpty()
DblNode<T> *tempP;
while(head->rlink!=head)
tempP=head->rlink;
head->rlink=tempP->rlink;//把头结点后的第一个节点从链中脱离
tempP->rlink->llink=head;//处理左指针
delete tempP; //删除(释放)脱离下来的结点

current=NULL; //current指针恢复

template<typename T> void DblList<T>::Insert(const T & data)//新节点在链尾
current=new DblNode<T>;
current->Info=data;
current->rlink=head;//注意次序
current->llink=head->llink;
head->llink->rlink=current;
head->llink=current;//最后做

template<typename T> DblNode<T>* DblList<T>::Remove(DblNode<T>* p) // 删除结点
current=head->rlink;
while(current!=head&¤t!=p) current=current->rlink;
if(current==head) current=NULL;
else//结点摘下
p->llink->rlink=p->rlink;
p->rlink->llink=p->llink;
p->rlink=p->llink=NULL;

return current;


template<typename T> DblNode<T>* DblList<T>::Find(T data) // 按结点查找
current=head->rlink;
while(current!=head&¤t->Info!=data) current=current->rlink;
if(current==head) current=NULL;
return current;


template<typename T> DblNode<T>* DblList<T>::Find(int data) // 按数据值查找结点
current=head->rlink;
int temp =current->Info.GetCode();
while(current!=head&&temp!=data)
current=current->rlink;
temp = current->Info.GetCode();

if(current==head) current=NULL;
return current;


template<typename T> void DblList<T>::Print() // 输出链表
current=head->rlink;
while(current!=head)
cout<<current->Info<<'\t';
current=current->rlink;

cout<<endl;

template<typename T> int DblList<T>::Length() // 取得链表长度
int count=0;
current=head->rlink;
while(current!=head)
count++;
current=current->rlink;

return count;


template<typename T> void DblList<T>::ShowList() // 输出链表各结点
int count=0;
current=head->rlink;
while(current!=head)
current->GetInfo().Show();
current=current->rlink;

return ;


template<typename T>
istream& operator>>(istream& is, DblList<typename T> &dlist)
int len;
T tt; // 定义局部变量读入一个结点
is>>len;
for(int i= 0 ;i<len; i++) // 循环读入链表各结点
is>>tt;
dlist.Insert(tt);

return is;


template<typename T>
ostream& operator<<(ostream& os, DblList<typename T> &dlist)
DblNode<T> *tempP;
int len = dlist.Length();
os<<len<<' ';
tempP=dlist.head->rlink;
while(tempP!=dlist.head) // 循环输出链表各结点
os<<tempP->Info;
tempP = tempP->rlink;

return os;

#include "class.h"
#include "dblist.h"
#include <fstream.h>
class Library // 封装图书馆流通业务的类
DblList<Item> item; // 在馆图书链表
DblList<Magazine> mag; // 在馆杂志链表
DblList<Reader> reader; // 读者链表
DblList<Loan> loan; // 借阅信息链表
DblList<Manager> manager; // 管理员信息链表

int itemNum; // 记录在馆图书数目
int magNum; // 记录在馆杂志数目
int readerNum; // 记录读者数目
int loanNum; // 记录借阅信息数目
int managerNum; // 记录管理员数目
ofstream itemFileOut; // 文件流对象,保存图书馆书籍数据
ifstream itemFileIn; // 文件流对象,读入图书馆书籍数据
ofstream magFileOut; // 文件流对象,保存图书馆杂志数据
ifstream magFileIn; // 文件流对象,读入图书馆杂志数据
ofstream readerFileOut; // 文件流对象,保存图书馆读者数据
ifstream readerFileIn; // 文件流对象,读入图书馆读者数据
ofstream loanFileOut; // 文件流对象,保存图书馆借阅信息数据
ifstream loanFileIn; // 文件流对象,读入图书馆借阅信息
ofstream managerFileOut; // 文件流对象,保存图书馆管理员数据
ifstream managerFileIn; // 文件流对象,读入图书馆管理员数据
public:
Library(); // 构造函数
~Library(); //析构函数
void Run(); // 图书馆类的运行函数
void CreateBibliotheca(); // 创建书目
void CreateReader(); // 创建读者库
void CreateManager(); // 创建管理员信息
int ShowMainMenu(); // 显示主菜单函数
void Borrow(); // 借书操作
void Return(); // 还书操作
void Require(); // 查询操作
void SaveInfo(); // 保存图书馆信息
void OpenInfo(); // 读入图书馆信息
;
参考技术A 我这有vb的员工管理系统,是access的,有“数据库结构及说明文档”和“设计文档”结构,要是要的话百度嗨找我。 参考技术B 发给你了 ,注意 查收 参考技术C 明天给你答复!!邮箱发过来!!
是完整的系统还是只要数据库?用什么语言?
你到底要不?要的话发个邮箱!或留言本回答被提问者采纳
参考技术D 给我发消息吧,我这有VB的

以上是关于数据库系统原理课程设计 -----图书借阅管理系统的主要内容,如果未能解决你的问题,请参考以下文章

计算机组成原理 课程设计报告

编译原理课程设计——语法分析器

微机原理汇编语言课程设计 中的LED 灯显示控制代码怎么写?

汇编微机原理与接口技术课程设计

编译原理课程设计词法分析程序设计

编译原理课程设计(词法分析,LR语法分析,表达式语义分析)+报告文档说明文档等