程序设计综合实训
全新版大学英语综合教程4课后答案
课程名
称:
设计题
图书管理系统
目:
姓名:
学号:
专业班级:
指导老师:
完成日期:
1设计任务
设计目的
运用所学知识,完成图书馆管理系统,通过实践加强对所学知识的理解和巩固
设计内容
建立图书馆管理系统,用户分为图书管理人员,读者;管理人员可以增加删除查看图书、读者;读者只能查看自身信息,和借还书
设计指标或者要求
管理人员可以访问任意图书和读者,而读者只能借还图书馆存在的图书和查看自己的信息; 2设计过程
分析:由于管理系统用户有图书管理员和读者,但两者的权限不同,管理员有权访问所有图书信息和管理员信息,而读者只能访问所有图书信息和自身的信息;所以他们的相同点:都能访问所有图书信息
不同点:管理员能访问所有读者信息而管理员只能访问自身信息而不能访问其它读者信息;故此设计了三个类
程序包含三个类:图书类books,管理员类manager,读者类reader,books类为抽象类,manager,和reader类为books类的派生类;为了能让管理员和读者访问所有图书信息,所有都继承了books类;而为了分出两者的权限的不同,所以把所有读者的信息做为一个链表作为管理员的一个私有成员,而读者却只能放一个自身节点作为读者的私有成员,然后分别设计各个类的成员函数;
程序功能
Classbooks口才培训学校
orrow_books_name<<""<<"书的编号:"<<r->reader_borrow_booki.borrow_books_no; }
break;
}
elr=r->next;
breathless是什么意思}
ifrcout<<"没有此人"<<endl;
}
manager::print_readers
{
readers_nodeprintL;
printL=newreaders_node;
printL=rroot->next;
whileprintL
{
cout<<"姓名编号借书总数"<<endl;
cout<<printL->reader_name<<""<<printL->reader_no<<""<<printL->reader_borrow_num<<endl;
forinti=0;i<printL->reader_borrow_num;i++
{
cout<<"书名:"<<printL->reader_borrow_booki.borrow_books_name<<""<<"书的编号:"<<printL->reader_borrow_booki.borrow_books_no;
}
printL=printL->next;
}
deleteprintL;
}
reader::readerreaders_nodenode
{
personnel==newreaders_node;
personnel=node;
}
reader::add_book
{
books_nodenode;
node=newbooks_node;
node=broot->next;
charreturned15;
cout<<"输入要还书的名子:";
cin>>returned;
forinti=0;i=personnel->reader_borrow_num;i++
{
ifstrcmpreturned,personnel->reader_borrow_booki.borrow_books_name==0break;
}
杭州日语学校
ifi==personnel->reader_borrow_num+1
{
printf"不好意思,你没有此书";system"pau";
}
el{
whilenode
{
ifstrcmpnode->book_name,returned==0break;
elnode=node->next;
}
小学生英语谜语
ifnode
{
personnel->reader_borrow_num--;
node->borrow_num--;
savebooks;
}
elcout<<"对不起,没有你要还的书或者所还书被删除"<<endl;
}
}
reader::delet_book
{
ifpersonnel->readerborrow_num<max
{
books_nodenode;
node=newbooks_node;
node=broot->next;
charborrowed15;
cout<<"输入要借书的名子:";
cin>>borrowed;
whilenode
{
ifstrcmpnode->book_name,borrowed==0break;
elnode=node->next;
}
ifnode&&node->total_num-node->borrow_num>0
{
strcpypersonnel->reader_borrow_bookpersonnel->reader_borrow_num.borrow_books_name, node->book_name;
strcpypersonel->reader_borrow_bookpersonnel->reader_borrw_num++.borrow_books_no,no de->book_num;
node->borrow_num++;
savebooks;
}
elcout<<"对不起,没有你要借的书或者所要借的书已经借完"<<endl;
}与人沟通
elcout<<"对不起,你借书的数量已经超过最大借数量"<<endl;
}
reader::print_me
{
cout<<"姓名"<<personnel->reader_name<<"编号:"<<personnel->reader_no<<"借书总数:"<<personnel->reader_borrow_num<<endl;
forinti=0;i<personnel->reader_borrow_num;i++
{
printf"书名:%s,书的编
号:%s",personnel->reader_borrow_booki.borrow_books_name,personnel->reader_borrow_booki. borrow_books_no
}
}
voidPau
{
getch;
fflushstdin;
}
reader::reader_borrow
{
delet_book;
}
reader::reader_return
{
add_book;
}
reader::save_readersreaders_nodeL
rt{
readers_noderoot;
root=newreaders_node;
root=L->next;
ofstreamoutFile;
"c:\\",ios::binary;
whileroot
{
charroot,sizeofreaders_node;
英语简历范文root=root->next;
}
;
}
readers_noderead_readers
{
readers_noder;
r=newreaders_node;
r->next=NULL;
intflag=0;潜水是什么意思
ifstreaminFile;
"c:\\",ios::binary;
卖爵鬻官是什么意思
if==-1
{
cout<<"con'"<<endl;returnr;
}
el
{
while1
{
flag++;
readers_nodenode;
node=newreaders_node;
charnode,sizeofreaders_node;
ifbreak;
node->next=r->next;
r->next=node;
}