c++程序设计图书管理系统Word文档下载推荐.docx
- 文档编号:16134319
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:20
- 大小:51.78KB
c++程序设计图书管理系统Word文档下载推荐.docx
《c++程序设计图书管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c++程序设计图书管理系统Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
在借书和还书的同时,进行查询。
四、程序中出现的函数
看看该类定义了借书操作,还书操作,设置读者姓名等功能
Reader
+name[20]:
char
+no:
int
+tag:
+borbook:
+getname():
+gettag():
+getno():
+setname(charna[]):
void
+delbook():
+addreader(intn,char*na):
v
oid
+borrowbook(intbookid):
voi
d
+retbook(intbookid):
+disp():
该类实现了建立读者的个人资料,删除读者信息,输出读者信息等功能。
RDatebase
+top:
+rname[20]:
+readerid:
+readerdata():
+choice:
i
nt
+clear():
图书类的设计
Book
+onshelf:
+addbook():
+borrowbook():
+retbook():
图书库类的设计
Xingzhengrenyuan
+addbook(intn,char*na):
+bookdata():
五、特色的函数实现
voidBDatabase:
bookdata()
{
charchoice;
charbname[40];
intbookid;
Book*b;
while(choice!
='
O'
)
cout«
"
\n\n\n\t\t\t图书维护"
<
endl«
endl;
全删\n\t\t0
\t\t1新增\n\t\t2更改\n\t\t3删除\n\t\t4查找\n\t\t5显示\n\t\t6
退出"
cin>
>
choice;
switch(choice)
case'
1'
输入图书编号:
bookid;
输入图书书名:
cin»
bname;
addbook(bookid,bname);
break;
2'
b=query(bookid);
if(b==NULL)
该图书不存在"
}
输入新的书名:
b->
setname(bname);
3'
读入图书编号:
delbook();
4'
disp();
5'
6'
clear();
default:
cout<
输入错误,请从新输入:
;
六、存在的冋题与不足及对策
由于设计者水平有限及时间等方面的原因,该系统的功能比较简单,查错能力也不强,对于一些不正确的输入可能会造成一些难以预料的结果,因此,请不要故意输入错误信息。
这些不足请老师多多谅解。
今后设计者会更多的学习编程技巧,不断的提高程序设计水平。
七、心得体会
通过这次的课程设计,让我充分的感觉到了要自己设计一个程序是多么的难,这个程序的设计过程中,我清楚的意识到自己的水平有多么的薄弱,每增加一个函数就要调试好久,有时候应为少了一个大括号或是分号,导致要找很久很久。
虽然系统可以运行,也具有了一些基本的功能,但我意识到了自己有太多的不足。
以后还会有很多的课程设计,一定要吸取这次的教训,把知识学懂学透学精,真正的为我所用,这样走上社会我才能真正的发挥所长。
源程序
#include<
iostream>
#includeviomanip>
string>
fstream>
usingnamespacestd;
constintMaxr=100;
constintMaxb=100;
constintMaxbor=5;
classReader
private:
inttag;
intno;
charname[10];
intborbook[Maxbor];
public:
Reader(){}
char*getname(){returnname;
intgettag(){returntag;
intgetno(){returnno;
voidsetname(charna[])
strcpy(name,na);
voiddelbook(){tag=1;
voidaddreader(intn,char*na)
tag=0;
no=n;
for(inti=0;
i<
Maxbor;
i++)borbook[i]=0;
voidborrowbook(intbookid)
i++)
if(borbook[i]==0)
{borbook[i]=bookid;
return;
intretbook(intbookid)
if(borbook[i]==bookid)
borbook[i]=0;
return1;
return。
;
voiddisp()
setw(5)<
no<
setw(10)<
name<
借书编号:
["
for(inti=0;
if(borbook[i]!
=0)
vborbook[i]v<
T;
]"
endl;
};
classRDatabase
inttop;
Readerread[Maxr];
RDatabase()
Readers;
top=-1;
fstreamfile("
reader.txt"
ios:
in);
while
(1)
file.read((char*)&
s,sizeof(s));
if(!
file)break;
top++;
read[top]=s;
file.close();
voidclear()
intaddreader(intn,char*na)
Reader*p=query(n);
if(p==NULL)
read[top].addreader(n,na);
Reader*query(intreaderid)
=top;
if(read[i].getno()==readerid&
&
read[i].gettag()==0)
return&
read[i];
returnNULL;
read[i].disp();
voidreaderdata();
~RDatabase()
out);
if(read[i].gettag()==0)
file.write((char*)&
read[i],sizeof(read[i]));
voidRDatabase:
readerdata()
charrname[20];
intreaderid;
Reader*r;
0'
查找
\n\n\t\t\t读者维护\n\n\n\t\t1新增\n\n\t\t2更改\n\n\t\t3删除\n\n\t\t4
\n\n\t\t5显示\n\n\t\t6全删\n\n\t\t0退出"
coutvv"
输入读者编号:
readerid;
输入读者姓名:
rname;
addreader(readerid,rname);
r=query(readerid);
if(r==NULL)
该读者不存在"
break;
输入新的姓名:
cin»
r->
setname(rname);
cin>
if(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 程序设计 图书 管理 系统