C_图书馆管理系统课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图书信息管理系统
题目摘要:该系统存储以下信息:
(1)对于同一作者同一书名的书,存储书名、数目编号、作者名、库存册数
已借出册数
(2)对于每一本书还要存储一个登录号、当前借阅该书的读者姓名与借书证号、借阅日期系统功能要求如下:
1 图书信息录入功能(图书信息用文件保存)
2 图书信息浏览功能,查询或排序功能:(至少一种查询方式)
3 按书名查询
4 按作者名查询
5 图书信息的删除与修改
一、模块设计
二、主要数据结构
图书结构体:
typedef struct book
{
char bname[20]; /*书名*/
char bnum[20]; /*书编号*/
char booktype[20]; /*分类号*/
char plase[30]; /*出版单位*/
char pbtime[20]; /*出版时间*/
float price; /*价格*/
char auter[20]; /*作者名字*/
char F; /*是否在馆*/
}books;
会员信息结构体:
typedef struct peope
{
char pnum[20]; /*借书证的号码*/
int type; /*会员类型*/
char pname[20]; /*名字*/
char pmima[10]; /*密码*/
int n; /*最多接的书本数*/
int m; /*借书本数*/
union
{
struct Pbook
{
char pbooks[20]; /*借书的书本名*/
char ptime[20]; /*借书的时间*/ }peop[6]; /*普通会员*/
struct VPbook
{
char vpbooks[20]; /*借书的书本名*/
char vptime[20]; /*借书的时间*/
}vpeop[10]; /*高级会员*/ }kind;
}peoper;
全局变量:
int B,P; /*B库存的书本数;P普通会员的人数;*/ books Book[1000]; peoper peo[100];
三、流程图
四、算法清单
//增加书籍
void Liberian::Append(fstream& storef)
{
bookData book;
int choice;
int key;
int num;
(0,ios::end);
int posEnd=();
cout<<"*************书籍入库***************"< while(1) { cout<<" Please enter your choice:"< cout<<"1--添加新书\n"<<"2--已有书籍\n"<<"0--返回\n"; cin>>choice; switch(choice) { case 1: cout<<" 书号, 书名, 数量, 作者,价格,出版社,出版时间?"< (reinterpret_cast break; //书籍查询 void Find(fstream & f) { bookData book; int key; int choice; (0,ios::end); int posEnd=(); cout<<"*************书籍查询***************"< while(1) { cout<<" 请输入您的选择\n" <<" 1-- 检索一本书\n" <<"2-- 显示全部书籍\n" <<"0-- 返回\n"; cin>>choice; switch(choice) { case 1: (0,ios::beg); cout<<"输入你想检索书的书号"< cin>>key; do{ (reinterpret_cast if==key) cout<<<<"---"<<<<"---"<<<<"---"<<<<"---"<<< cout<<"找不到此书,请重新确认!"< break; //查找读者 void Reader::Addreader() { Person temp;bookData book={0,"0",0}; (0,ios::end); int Posend=(); cout<<"输入你想要增加的读者的名字"< cin>>; cout<<"新读者的学号:"< cin>>; [1]=book; [0]=book; =0; (reinterpret_cast cout<<" 成功添加!"<<< } bool Reader::findreader() { (0,ios::end); int Posend=(); char name[20]; Person guest={"0","0",0,{{0,"0",0},{0,"0",0}}}; cout<<"输入查找人的名字!"; cin>>name; (0); do{ (reinterpret_cast if(!strcmp(name,) { cout<<"查到此人:"<<<