- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
课程名称:程序设计综合实训
设计题目:图书管理系统
姓名:
学号:
专业班级:
指导老师:
完成日期:
1设计任务
设计目的
运用所学知识,完成图书馆管理系统,通过实践加强对所学知识的理解和巩固
设计内容
建立图书馆管理系统,用户分为图书管理人员,读者。管理人员可以增加删除查看图书、
读者。读者只能查看自身信息,和借还书
设计指标或者要求
管理人员可以访问任意图书和读者,而读者只能借还图书馆存在的图书和查看自己的信息。
2设计过程
分析:由于管理系统用户有图书管理员和读者,但两者的权限不同,管理员有权访问所有
图书信息和管理员信息,而读者只能访问所有图书信息和自身的信息。所以他们的相同点:
都能访问所有图书信息
不同点:管理员能访问所有读者信息而管理员只能访问自身信息而不能访问其它读者信息;
故此设计了三个类
程序包含三个类:图书类(books),管理员类(manager),读者类reader,books类为抽
象类,manager,和reader类为books类的派生类。为了能让管理员和读者访问所有图书
信息,所有都继承了books类;而为了分出两者的权限的不同,所以把所有读者的信息做
为一个链表作为管理员的一个私有成员,而读者却只能放一个自身节点作为读者的私有成
员,然后分别设计各个类的成员函数。
程序功能
Classbooks
}
manager::print_readers()
{
readers_nodeprintL;
printL=newreaders_node;
printL=rroot-next;
while(printL)
{
姓名编号借书总数借书总数
for(inti=0;iprintL-reader_borrow_num;i++)
{
书名名名
书的编号书的编号
}
printL=printL-next;
}
deleteprintL;
}
reader::reader(readers_node*node)
{
(personnel)==newreaders_node;
personnel=node;
}
reader::add_book()
{
books_node*node;
node=newbooks_node;
node=broot-next;
charreturned[15];
输入要还书的名子输入要还书的名子
cinreturned;
for(inti=0;i=personnel-reader_borrow_num;i++)
{
if((strcmp(returned,personnel-reader_borrow_book[i].borrow_books_name))==
0)break;
}
if(i==personnel-reader_borrow_num+1)
{
不好意思,你没有此书不好意思,你没有此书
}
else{
while(node)
{
if((strcmp(node-book_name,returned)==0))break;
elsenode=node-next;
}
if(node)
{
personnel-reader
文档评论(0)