C语言 图书馆信息管理系统.docx

上传人:b****6 文档编号:3547701 上传时间:2022-11-23 格式:DOCX 页数:23 大小:18.64KB
下载 相关 举报
C语言 图书馆信息管理系统.docx_第1页
第1页 / 共23页
C语言 图书馆信息管理系统.docx_第2页
第2页 / 共23页
C语言 图书馆信息管理系统.docx_第3页
第3页 / 共23页
C语言 图书馆信息管理系统.docx_第4页
第4页 / 共23页
C语言 图书馆信息管理系统.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

C语言 图书馆信息管理系统.docx

《C语言 图书馆信息管理系统.docx》由会员分享,可在线阅读,更多相关《C语言 图书馆信息管理系统.docx(23页珍藏版)》请在冰豆网上搜索。

C语言 图书馆信息管理系统.docx

C语言图书馆信息管理系统

#include

#include

#include

usingnamespacestd;

 

classLibrarian//图书管理员类

{

public:

Librarian();

Librarian(intn,intj,charna[20],intw);

intgetnumber();

intgetjobage();

char*getname();

intgetwages();

voidresetjobage(intj);

voidresetwages(intw);

voidresetname(charna[20]);

private:

intnumber;

intjobage;

charname[20];

intwages;

};

Librarian:

:

Librarian()//其函数的实现

{

number=0;

charb[20]="noone";

jobage=0;

strcpy(name,b);

}

Librarian:

:

Librarian(intn,intj,charna[20],intw)

{

number=n;

jobage=j;

strcpy(name,na);

wages=w;

}

intLibrarian:

:

getjobage()

{returnjobage;}

char*Librarian:

:

getname()

{returnname;}

intLibrarian:

:

getnumber()

{returnnumber;}

intLibrarian:

:

getwages()

{returnwages;}

voidLibrarian:

:

resetjobage(intj)

{

jobage=j;

}

voidLibrarian:

:

resetname(charna[20])

{

strcpy(name,na);

}

voidLibrarian:

:

resetwages(intw)

{

wages=w;

}

 

classreader//读者类

{

private:

intnumber;

intage;

charname[20];

charborrowbook[20];

public:

reader();

reader(intc,inta,charb[20],chare[20]);

intgetnumber();

intgetage();

char*getname();

char*getborrowbook();

voidreworkborrowbook(chara[20]);

};

reader:

:

reader()//其函数的实现

{

chara[20]="没有人";

charc[20]="没有借书";

number=0;

age=0;

}

reader:

:

reader(inta,intc,chard[20],chare[20])

{

number=a;

age=c;

strcpy(name,d);

strcpy(borrowbook,e);

}

intreader:

:

getnumber(){returnnumber;}

intreader:

:

getage(){returnage;}

char*reader:

:

getname(){returnname;}

char*reader:

:

getborrowbook(){returnborrowbook;}

voidreader:

:

reworkborrowbook(chara[20]){strcpy(borrowbook,a);}

 

structbook//图书的结构体

{

intnum;

charname[20];

charwriter[20];

};

 

voidoutbookinf()//输出所有图书信息

{

inti;

ifstreaminfile("allbook.txt",ios:

:

in);

charline[50];

cout<<"书名"<<'\t'<<"书号"<<'\t'<<"作者"<

for(i=1;i<=10;i++)

{

infile.getline(line,50,'\n');

cout<

}

infile.close();

}

 

voidserchLaninf()//图书管理员信息函数

{

intn,i;

ifstreamfile("serchLaninf.txt");

if(file){file>>n;file.close();}

else{cout<<"没有图书管信息理员";exit(0);}

ifstreamis("controlloer.txt",ios_base:

:

binary);

if(is)

{

Librarian*A=newLibrarian[n];

for(i=0;i

{

is.read((char*)&A[i],sizeof(A[i]));

}

for(i=0;i

{

cout<<"编号"<<'\t'<<"工龄"<<'\t'<<"名字"<<'\t'<<"工资"<

cout<

}

}

else

{

cout<<"txt文件打开出错'"<

}

is.close();

}

 

voidlibary()//图书馆的总信息

{

system("cls");

system("color2e");

cout<<""<

cout<<""<

cout<<""<

cout<<"本校图书馆由本部图书馆及彭州校区图书馆组成,图书馆总面积达了****平方米";

cout<<"(本馆现在有***类书籍***万册,****类书籍****万册,****类书籍****万册****类书籍****万册),";

cout<<"图书馆现有工作人员***名";

cout<<"图书馆现有的现代化设备价值超过****万元………………"<

}

 

voidstorelibrarian()//存入新的管理员的信息

{

intage,n,num,wage;

charname[20];

ifstreamfile("serchLaninf.txt");

if(file){file>>n;file.close();}

else{n=0;}

cout<<"已有的图书管理员个数:

";

cout<

cout<<"请输入新图书管理员的编号和工龄,名字和工资:

";

cin>>num>>age>>name>>wage;

LibrarianA(num,age,name,wage);

cout<<"编号工龄名字工资"<

cout<

ofstreamoutfile("controlloer.txt",ios_base:

:

app);

outfile.write((char*)&A,sizeof(A));

outfile.close();

n++;

ofstreamtfile("serchLaninf.txt");

tfile<

tfile.close();

cout<<"保存成功!

";

}

 

voidreLaninf()//修改图书管理员

{

inti,n,h,jobage,wage,j;

charname[20];

ifstreamfile("serchLaninf.txt");

if(file){file>>n;file.close();}

else{cout<<"没有图书管信息理员";

exit(0);}

cout<<"已有的图书管理员个数:

";

cout<

Librarian*A=newLibrarian[n];

ifstreamis("controlloer.txt",ios_base:

:

binary);

if(is)

{

for(i=0;i

{

is.read((char*)&A[i],sizeof(A[i]));

}

for(i=0;i

{

cout<<"编号工龄名字工资"<

cout<

}

}

else

{

cout<<"打开文件出错"<

}

is.close();

cout<<"请选择你要修改的管理员编号:

";

cin>>h;

cout<<"输入新的工龄,名字,工资:

";

cin>>jobage>>name>>wage;

A[h-1].resetjobage(jobage);

A[h-1].resetname(name);

A[h-1].resetwages(wage);

cout<<"该管理员修改后的名字是:

"<

"<

"<

ofstreamtfile("controlloer.txt",ios_base:

:

binary);

for(j=0;j

{

tfile.write((char*)&A[j],sizeof(A[j]));

}

tfile.close();

}

voidaadbook()//新增图书

{

intnum;charname[12];charwriter[10];intn;

a:

ofstreamfout("allbook.txt",ios:

:

app);

cout<<"请录入图书信息:

"<

cout<<"书名"<<'\t'<<"书号"<<'\t'<<"作者"<

cin>>name;fout<

cin>>num;fout<

cin>>writer;fout<

fout.close();

cout<<"是否继续录入?

1.是2.否"<

cin>>n;

if(n==1)

gotoa;

else

{voidstudentland();

studentland();}

}

voiddelate()//删除函数

{intm;

cout<<"选择操作选项:

"<

cout<<"1.删除全部信息"<

cout<<"2.单个删除"<

cin>>m;

if(m==1)

{ofstreamfile("allbook.txt",ios:

:

trunc);

cout<<"全部删除完毕,按任意键返回!

"<

file.close();

getch();

system("cls");

voidstudentland();

studentland();

}

charstr[10][80],buf[20];

a:

inti=0,flag=100,c=0;

ifstreamfin("allbook.txt");

if(!

fin){

cout<<"文件打开失败!

"<

getch();

system("cls");

voidstudentland();

studentland();

}

cout<<"请输入你要删除的书名:

"<

cin>>buf;

strcat(buf,"\t");

while(fin.getline(str[i],80))

{

if(strncmp(str[i],buf,strlen(buf))==0)

{

flag=i;

}

i++;

}

fin.close();

if(flag==100)

{

cout<<"没有你所要删除的书籍!

重新按1,否则0....."<

intb;

cin>>b;

if(b==1)gotoa;

elsec=1;

}

if(c==0){

ofstreamfout("allbook.txt");

for(intj=0;j

if(j==flag)continue;

fout<

}

fout.close();

cout<<"你要删除的书籍的信息已删除,继续按1,否则按0....."<

intb;

cin>>b;

if(b==1)gotoa;

}

cout<<"操作已经结束,按任意键返回......"<

getch();

system("cls");

voidstudentland();

studentland();

}

 

voidsearchbook()//查找书籍

{

a:

ifstreamfin;

intflag=0,b,length;

charstr[20];

charf[200];charg[200];

fin.open("allbook.txt");

if(!

fin)

{

cout<<"Openf1.daterror....."<

exit

(1);

}

while

(1)

{

cout<<"请输入书名:

";

cin>>str;

strcat(str,"\t");

length=strlen(str);

cout<<"------------------------------------"<

while(fin.getline(f,199))

{

strcpy(g,f);

if(strncmp(str,f,length)==0)

{

flag=1;

break;

}

}

if(flag==1)

{

cout<<"所查询的书已经找到:

"<<'\n';

cout<<"--------------------------------"<

cout<<"书名"<<'\t'<<"书号"<<'\t'<<"作者"<<'\t'<

cout<

cout<<"--------------------------------"<

flag=0;

cout<<"要继续查询按1,否则按0:

"<

cin>>b;

if(b==0)break;

}

else

{

fin.close();

cout<<"没有此书,继续按1,否则按0..."<

cin>>b;

if(b==0)break;

gotoa;

}

}

fin.close();

cout<<"查询完毕,按任意键返回......"<

getch();

system("cls");

voidstudentland();

studentland();

}

 

voidseachreader()//查询读者信息

{

a:

ifstreamfin;

intflag=0,b,length;

charstr[20];

charf[200];charg[200];

fin.open("readernum.txt");

if(!

fin)

{

cout<<"没有此信息文件!

"<

exit

(1);

}

while

(1)

{

cout<<"请输入你要查找读者的名字:

";

cin>>str;

strcat(str,"\t");

length=strlen(str);

cout<<"------------------------------------"<

while(fin.getline(f,199))

{

strcpy(g,f);

if(strncmp(str,f,length)==0)

{

flag=1;

break;

}

}

if(flag==1)

{

cout<<"所查询的读者已经找到:

"<<'\n';

cout<<"--------------------------------"<

cout<<"名字"<<'\t'<<"编号"<<'\t'<<"年龄"<<'\t'<<"借书次数"<

cout<

cout<<"--------------------------------"<

flag=0;

cout<<"要继续查询按1,否则按0:

"<

cin>>b;

if(b==0)break;

gotoa;

}

else

{

fin.close();

cout<<"没有此人,继续按1,否则按0..."<

cin>>b;

if(b==0)break;

gotoa;

}

}

fin.close();

cout<<"查询完毕,按任意键返回......"<

getch();

system("cls");

voidstudentland();

studentland();

}

 

/*voidseachreader()//查询读者的信息

{

inti,b,h=0;

chara[20];

ifstreamfile("readernum.txt");

if(file){file>>b;file.close();}

else{cout<<"没有文件";}

cout<<"已有的读者个数:

";

cout<

reader*A=newreader[b];

ifstreamis("reader.txt",ios_base:

:

binary);

if(is)

{

for(i=0;i

{

is.read((char*)&A[i],sizeof(A[i]));

}

}

else

{

cout<<"txt文件打开出错"<

}

is.close();

cout<<"请输入你要查找读者的名字:

";

cin>>a;

for(i=0;i

{

if(strcmp(A[i].getname(),a)==0)

{

cout<<"编号年龄名字借书情况"<

cout<

h++;

}

}

if(h==0)cout<<"没有这个读者!

";

}

*/

 

voidLibrarianland()//管理员登陆函数

{

intq,l=1,i,h;

system("cls");

system("color2e");

cout<<""<

cout<<""<

cout<<""<

cout<<""<<"现在进行身份确认,请输入口令:

";

cin>>i;

while(l)

{

if(i==00000)

{

system("cls");

system("color3e");

cout<<""<

cout<<""<

cout<<""<

cout<<""<<"|*******"<<"0,返回上一级菜单."<<"******|"<

cout<<""<<"|*******"<<"1,查询图书馆管理员的信息"<<"******|"<

cout<<""<<"|*******"<<"2,存入新的管理员信息."<<"******|"<

cout<<""<<"|*******"<<"3,修改图书管理员的信息"<<"******|"<

cout<<""<<"|*******"<<"4,新增图书"<<"******|"<

cout<<""<<"|*******"<<"5,删除图书"<<"******|"<

cout<<"请选择执行的操作:

";

cin>>q;

if(q>=0&&q<6)

{

switch(q)

{

case0:

l=0;

break;

case1:

serchLaninf();

system("pause");

break;

case2:

storelibrarian();

system("pause");

case3:

reLaninf();

system("pause");

break;

case4:

voidaadbook();

aadbook();

break;

case5:

voiddelate();

delate();

break;

default:

break;

}

}

else

{

system("cls");

system("color4e");

cout<<""<

cout<<""<

cout<

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1