#include <iostream>
#include <istream>
#include "Librarian.h"
#include "Database.h"
#include "Database.cpp"
#include "Reader.h"
#include "Book.h"
#include <string.h>
using namespace std;
Database<Reader> ReaderDB;
Database<Book> BookDB;
void Librarian::CheckOut() //借书作业
{
string r_name, b_name;
char reader[40];
char book[40];
try{
cout<<"请输入读者姓名:"<<endl;
cin.ignore(1);
cin.get(reader,40,'\n');
r_name=reader;
Reader *reader=ReaderDB.Query(r_name); //寻找要借书的读者姓名
cout<<"请输入书名:"<<endl;
cin.ignore(1);
cin.get(book,40,'\n');
b_name=book;
Book *book=BookDB.Query(b_name); //要借出的书籍数据
book->CheckOut(); //设定该书被借出
reader->BorrowBook(book->GetIndex()); //增加读者的借书记录
}
catch(string s) {cerr<<s;}
}
void Librarian::BookData() //维护书籍数据
{
char choice='I';
string b_name;
char bname[40];
Book *book;
while(!(choice=='E' || choice=='e'))
{
cout<<"维护书籍数据..."<<endl;
cout<<"请输入操作类型:"<<endl;
cout<<"加入新书(I) 更新书籍(U) 删除书籍(D) 查询书籍(Q) 显示书籍(S) 退出(E)"<<endl;
cin>>choice;
try{
switch(choice)
{
case 'i':
case 'I'://新增书籍数据
cout<<"请输入新书名字:"<<endl;
cin.ignore(1);
cin.get(bname,40,'\n');
b_name=bname;
book=new Book(b_name);
BookDB.Insert(*book); //将书籍数据插入
break;
case 'u':
case 'U': //更改书籍数据
cout<<"请输入要更改书籍的名字:"<<endl;
cin.ignore(1);
cin.get(bname,40,'\n');
b_name=bname;
book=BookDB.Query(b_name); //寻找要更改的书籍数据
cout<<"请输入新书的名字:"<<endl;
cin.ignore(1);
cin.get(bname,40,'\n');
b_name=bname;
book->SetName(b_name); //重新设定该书籍的名称
break;
case 'd':
case 'D': //删除书籍数据
cout<<"请输入要删除的书籍名字:"<<endl;
cin.ignore(1);
cin.get(bname,40,'\n');
b_name=bname;
BookDB.Delete(b_name); //删除书籍数据
break;
case 'q': //查询书籍数据,请同学们完成该功能
case 'Q':
cout<<"请输入要查找的书籍名字:"<<endl;
cin.ignore(1);
cin.get(bname,40,'\n');
b_name=bname;
BookDB.Query(b_name)->ShowData();
break;
case 's':
case 'S': //显示数据库中所有书籍数据
BookDB.ShowAllData();
break;
case 'e':
case 'E':
break;
default:
cout<<"对不起,没有提供该项功能!"<<endl;
}
}
catch(string s) {cerr<<s;}
}
}
void Librarian::ReaderData() //维护读者数据
{
char choice='I';
string r_name;
char nreader[40];
Reader *reader;
while(!(choice=='E' || choice=='e'))
{
cout<<"维护读者数据..."<<endl;
cout<<"请输入操作类型:"<<endl;
cout<<"添加读者(I) 更新读者(U) 删除读者(D) 查询读者(Q) 显示读者(S) 退出(E)"<<endl;
cin>>choice;
try{
switch(choice)
{
case 'i':
case 'I'://新增读者数据
cout<<"请输入读者名字:"<<endl;
cin.ignore(1);
cin.get(nreader,40,'\n');
r_name=nreader;
reader=new Reader(r_name);
ReaderDB.Insert(*reader); //将读者数据插入
break;
case 'u':
case 'U': //更改读者数据
cout<<"请输入要更改读者的名字:"<<endl;
cin.ignore(1);
cin.get(nreader,40,'\n');
r_name=nreader;
reader=ReaderDB.Query(r_name); //寻找要更改的读者数据
cout<<"请输入新读者的名字:"<<endl;
cin.ignore(1);
cin.get(nreader,40,'\n');
r_name=nreader;
reader->SetName(r_name); //重新设定读者的名称
break;
case 'd':
case 'D': //删除读者数据
cout<<"请输入要删除的读者名字:"<<endl;
cin.ignore(1);
cin.get(nreader,40,'\n');
r_name=nreader;
ReaderDB.Delete(r_name); //删除读者数据
break;
case 'q':
case 'Q':
cout<<"请输入要查找的读者名字:"<<endl;
cin.ignore(1);
cin.get(nreader,40,'\n');
r_name = nreader;
ReaderDB.Query(r_name)->ShowData();
break;
case 's':
case 'S': //显示数据库中所有书籍数据
ReaderDB.ShowAllData();
break;
case 'e':
case 'E':
break;
default:
cout<<"对不起,没有提供该项功能!"<<endl;
}
}
catch(string s) {cerr<<s;}
}
}
void Librarian::giveBack()
{
string r_name, b_name;
Reader reader1;
char reader[40];
char book[40];
try{
cout<<"请输入读者姓名:"<<endl;
cin.ignore(1);
cin.get(reader,40,'\n');
r_name=reader;
Reader *reader=ReaderDB.Query(r_name);
cout<<"请输入书名:"<<endl;
cin.ignore(1);
cin.get(book,40,'\n');
b_name=book;
Book *book=BookDB.Query(b_name);
book->giveBack();
reader1.ReturnBook();
}
catch(string s) {cerr<<s;}
}
没有合适的资源?快使用搜索试试~ 我知道了~
C++图书管理系统
共21个文件
cpp:7个
h:6个
user:3个
需积分: 0 217 下载量 144 浏览量
2008-07-29
11:52:21
上传
评论
收藏 291KB RAR 举报
温馨提示
C++图书管理系统,使用Vs2005编写的
资源推荐
资源详情
资源评论
收起资源包目录
105230347Library.rar (21个子文件)
Library
Library.suo 37KB
Library
Library.cpp 884B
Library.vcproj.CCNIIT-1224F5D0.yeguoxiong.user 1KB
Book.h 555B
Visual J#
LibraryObject.cpp 665B
LibraryObject.h 565B
Librarian.cpp 5KB
Reader.h 447B
Object.cpp 82B
Library.vcproj 4KB
Library.vcproj.102-94.User.user 1KB
Debug
Database.cpp 2KB
Librarian.h 298B
Reader.cpp 817B
Visual Web Developer
Visual C#
Visual Basic
Object.h 88B
Book.cpp 713B
Database.h 888B
Library.vcproj.HP-A92226ADEDDF.hp.user 1KB
Library.sln 886B
Library.ncb 1.53MB
debug
www.pudn.com.txt 218B
共 21 条
- 1
资源评论
yanhe0116
- 粉丝: 10
- 资源: 87
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功