文档详情

C图书管理系统代码.docx

发布:2024-03-11约1.26万字共27页下载文档
文本预览下载声明

一些基本的功能:

1:添加图书以及图书编号

2:能够实行基本的借书还还书的功能。

3: 删除图书信息等

#includeiostream#includeiomanip#includestring

#includefstream//输入/输出文件流类

usingnamespacestd;

constintMaxr=100;//最多的读者constintMaxb=100;//最多的图书

constintMaxzf=5;//每位读者最多借五本书

//读者类,实现对读者的信息的描述

classReader

{

private:

inttag; //删除标记1:已删0:未删intno; //读者编号

charname[10]; //读者姓名intzfbook[Maxzf];//所借图书

public:Reader(){}

char*getname(){returnname;} //获取姓名

intgettag(){returntag;} //获取删除标记intgetno(){returnno;} //获取读者编号voidsetname(charna[]) //设置姓名

{

strcpy(name,na);

-1-

-1-

PAGE

PAGE10

}voiddelbook(){ tag=1; }//设置删除标记1:已删0:未删voidaddreader(intn,char*na)//增加读者{tag=0;no=n;strcpy(name,na);for(inti=0;iMaxzf;i++)zfbook[i]=0;}voidzfrowbook(intbookid)//借书操作{for(inti=0;iMaxzf;i++){if(zfbook[i]==0){zfbook[i]=bookid;return;}}}

}

voiddelbook(){ tag=1; }//设置删除标记1:已删0:未删

voidaddreader(intn,char*na)//增加读者

{

tag=0;

no=n;

strcpy(name,na);

for(inti=0;iMaxzf;i++)

zfbook[i]=0;

}

voidzfrowbook(intbookid)//借书操作

{

for(inti=0;iMaxzf;i++)

{

if(zfbook[i]==0)

{

zfbook[i]=bookid;

return;

}

}

}

intretbook(intbookid)//还书操作

{

for(inti=0;iMaxzf;i++)

{

if(zfbook[i]==bookid)

{

zfbook[i]=0;

return1;

}}return0;}voiddisp()//读出读者信息{coutsetw(5)nosetw(10)name借书编号:[;for(inti=0;iMaxzf;i++)if(zfbook[i]!=0)coutzfbook[i]|;cout]endl;

}

}

return0;

}

voiddisp()//读出读者信息

{

coutsetw(5)nosetw(10)name借书编号:[;

for(inti=0;iMaxzf;i++)

if(zfbook[i]!=0)

coutzfbook[i]|;

cout]endl;

}

};

//读者类库,实现建立读者的个人资料

classRDatabase

{

private:

inttop;

//读者记录指针

Readerread[Maxr];//读者记录

public:

RDatabase() //构造函数,将reader.txt读到read[]中

{

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(); //关闭reader.txt

}

voidclear()//删除所有读者信息

{

top=-1;

}

intaddreader(intn,char*na)//添加读者时先查找是否存在

{

Reader*p=query(n);if(p==NULL)

{

top++;read[top].addreader(n,na);return1;

}

return0;

}

Reader*query(intread

显示全部
相似文档