一个小型图书馆管理系统,需完成以下工作: 借书、还书。 在图书馆中添加、删除一本书 按照作者名或者专业

如题所述

以下代码,仅供参考。
使用的是c++类对象做的。
//图书馆图书管理程序-完整版
//本程序提供了多次性入库图书的存储、反复借书还书的功能,一旦退出,库存书信息将会丢失
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
int sort=0;
int a[1000];
float b[1000];
string n[1000];//分别存放对象的名字、数量和价格
class Book
{
private:
float s_p;//书本n的单本抵押金额
int sum;//某种书的总拥有量
public:
double price;
string bookname;
Book()
{

}
int Bookchange(string n,int a,float s)//构造函数不能显式调用!!!!!!
{
sum=a;
bookname=n;
s_p=s;
return(1);
}
void disp();//显示图书存借情况
int borrow();//
int restore();//
};
/////////////////////////////////////////////////////////////////////////////
void Book::disp()
{
cout<<setfill('-');
cout<<"***"<<setw(18)<<right<<bookname<<"---------"<<left<<setw(23)<<sum<<"***"<<endl;
};
int Book::borrow()//借出这些书本后剩下的书本数量
{
int number_out;//一次性借出书的数量
cout<<"请输入您想借的书的数量"<<endl;
cin>>number_out;

if(sum==0)
cout<<"该书已经借完,请借其他书或者下次再来"<<endl;
else if(sum<number_out)
{
cout<<"该书还剩下"<<sum<<"本,不能满足您的要求,请重新选择借书数量"<<endl;
}
else
{
price=s_p*number_out;
sum=sum-number_out;
cout<<"您要借《"<<bookname<<"》书"<<number_out<<"本(其中,该书押金"<<s_p<<"元/本)"<<endl<<"您共需要付"<<price<<"元;"<<endl<<"书库还剩下"<<"该书"<<sum<<"本"<<endl;
}
return(sum);
}
int Book::restore()
{
int number_in;//一次性存入这些本书后共有的数量
cout<<"您想还书,请输入还书的数量"<<endl;
cin>>number_in;
price=s_p*number_in;
sum=sum+number_in;
cout<<"您要归还《"<<bookname<<"》书"<<number_in<<"本(其中,押金"<<s_p<<"元/本)"<<endl<<"我们需要返还给您"<<price<<"元;"<<endl<<"书库还剩下"<<"该书"<<sum<<"本"<<endl;
return (sum);
}
/////////////////
Book p[1000];////数组对象,上限1000
/////////////////
void store()/////////数组对象的初始化
{
cout<<"现在您要进行图书入库操作,请输入本次入库书籍的种类数"<<endl;
int sort_add;
cin>>sort_add;
if(sort_add==0)
goto loop2;
cout<<"然后,请依次输入:"<<endl<<"书名 本次入库数量 单本借书押金"<<endl;
int i;
for(i=1;i<=sort_add;i++)//sort种书的对象初始化,并且为各种书进行编号
{
cin>>n[i-1]>>a[i-1]>>b[i-1];
p[sort+i-1].Bookchange(n[i-1],a[i-1],b[i-1]);//通过函数bookchange来对p[i]进行初始化,避免了对构造函数的显式调用
cout<<"请记住,该书的编号为"<<sort+i-1<<"下次借还时请直接输入书的编号;"<<endl;
if(i==sort_add)
cout<<endl;
}
loop2:sort=sort+sort_add;
}
void library()
{
cout<<setfill('-');
cout<<"/////////////////////////////////////////////"<<endl;
cout<<"///-------编号-------书名-----------------///"<<endl;
for(int i=0;i<sort;i++)
{
cout<<"///"<<setw(10)<<right<<i<<"---------"<<left<<setw(20)<<p[i].bookname<<"///"<<endl;
}
cout<<"/////////////////////////////////////////////"<<endl;
}

void main()
{
cout<<"☆☆☆☆☆☆敖☆☆☆☆☆☆鸿☆☆☆☆☆☆制☆☆☆☆☆☆作☆☆☆☆☆☆Elf☆☆☆☆"<<endl;
cout<<" ☆☆☆☆图书管理程序-完美控制台.本程序提供了以下三种功能功能☆☆☆☆☆"<<endl;
cout<<"☆☆永☆☆☆☆☆远☆☆☆☆☆的☆☆☆☆☆精☆☆☆☆☆灵☆☆☆☆☆Elf☆☆"<<endl;
cout<<"一、图书反复入库操作"<<endl<<"二、反复借书"<<endl<<"三、反复还书"<<endl<<"请根据提示进行操作"<<endl<<"---------------------------------------------------------"<<endl;
/////////////////////////////////////////////////////////////////////////////
cout<<"现在书库还没有书呢,请先进行图书入库操作(库存上限1000种)"<<endl;
char jud1='n';
while(jud1!='y')
{
int book_no;
char jud2;
loop:cout<<"借书--b,还书--r,图书入库--s"<<endl;
cin>>jud2;
if(jud2=='s')
store();
else if(jud2=='r')
{
library();
cout<<"您还哪种书?请输入该书的编号"<<endl;
cin>>book_no;
p[book_no].restore();
}
else if (jud2=='b')
{
library();
cout<<"您借哪种书?请输入该书的编号"<<endl;
cin>>book_no;
p[book_no].borrow();
}
else goto loop;
cout<<"程序正常运行中,请选择下一步操作:c—继续,e—退出"<<endl;
char jud_;
cin>>jud_;
if(jud_=='e')
{
cout<<"一旦退出,所有库存将会置0,确定要退出吗?y/n"<<endl;
cin>>jud1;
}
else jud1='n';
}
int j=0;
cout<<"********************************************************"<<endl;
cout<<"***------------书名-------还剩(本)-----------------***"<<endl;
for(j;j<sort;j++)
p[j].disp();
cout<<"********************************************************"<<endl;
char xx;
cout<<"输入任意字符按回车退出"<<endl;
cin>>xx;
}追问

题目在这里你帮我看看 一个小型图书馆管理系统,需完成以下工作:
借书、还书。
在图书馆中添加、删除一本书
按照作者名或者专业领域检索一批书
找出被某位读者借出的一些书
找出最近借走某本图书的读者
该系统有两类用户:图书管理员与普通读者
要求:
分析系统需求、画出数据流图,完成数字字典定义工作,根据概念设计阶段产生的E-R图进行逻辑设计,写出数据库的逻辑报告
采用ORACLE数据库系统SQL语言完成建表工作。

追答

这…… 这个题目我刚学的时候做了一个周呢,抱歉,我技术不济,你还是找楼下吧。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-23
你是不是找这种软件啊,
我也不知道啊,
不过我店里的一套系统也能做这相,就是那个销售软件的,你有没有兴趣啊 ,

你不相掏钱的,可以下个EXCEL用,这个也行的,我们图书管就是用的这个,用了很多年了都
第2个回答  2011-07-24
可以凭借Baiduhi通知我们你的题目
有空能完成你无法解决的题目
根据本要求
我们可以提供一份相当于初级水平的源码
如果你有相关的要求也能通知我们

ES:\\C99891DA8A3C214B031A3FDCCB437384
交易提醒:预付定金有风险
交易提醒:勿轻信用户名中的联系方式
相似回答