C语言编程图书馆管理系统Word格式.doc
《C语言编程图书馆管理系统Word格式.doc》由会员分享,可在线阅读,更多相关《C语言编程图书馆管理系统Word格式.doc(13页珍藏版)》请在冰豆网上搜索。
intborbook[Max3];
//所借图书
public:
student(){}
char*get_name(){returnname;
}//获取姓名
char*get_yuanxi(){returnyuanxi;
}//获取院系
intget_tb(){returntb;
}//获取删除标记
intget_no(){returnno;
}//获取学号
intgetex(){returnex;
}
voidset_name(charna[])//设置学生姓名
{
strcpy(name,na);
}
voidset_yuan(charyu[])//设置学生所在院系
{
strcpy(yuanxi,yu);
voidset_no(intn)//设置学号
no=n;
voiddelbook(){tb=1;
}//设置删除标记1:
voidaddstudent(intn,intex1,char*na,char*yu)//增加学生信息
{
tb=0;
no=n;
ex=ex1;
strcpy(name,na);
strcpy(yuanxi,yu);
for(inti=0;
i<
Max3;
i++)
borbook[i]=0;
}
voidborrowbook(intbookid)//借书操作
{
ex;
{
if(borbook[i]==0)
{
borbook[i]=bookid;
return;
}
}
intretbook(intbookid)//还书操作
if(borbook[i]==bookid)
return1;
return0;
voidout()//输出学生信息
cout<
<
"
学号:
setw(5)<
no<
姓名:
setw(10)<
name<
院系:
setw(10)<
yuanxi<
最大借书量:
ex<
图书号:
["
;
for(inti=0;
if(borbook[i]!
=0)
cout<
borbook[i]<
"
|"
]"
endl;
};
//学生类库,用来建立学生的个人资料
classstudentbase
{
private:
inttop;
//学生记录指针
studentread[Max1];
//学生记录
public:
studentbase()//构造函数,将student.txt读到read[]中
students;
top=-1;
fstreamfile("
student.txt"
ios:
:
in);
//打开一个输入文件
while
(1)
{
file.read((char*)&
s,sizeof(s));
if(!
file)break;
top++;
read[top]=s;
file.close();
//关闭student.txt
voidclear()//删除所有学生信息
intaddstudent(intn,intex1,char*na,char*yu)//添加学生时先查找此学生信息是否存在
student*p=query(n);
if(p==NULL)
top++;
read[top].addstudent(n,ex1,na,yu);
return1;
student*query(intkid)//按编号查找学生
for(inti=0;
=top;
if(read[i].get_no()==kid&
&
read[i].get_tb()==0)
return&
read[i];
returnNULL;
voiddisp()//输出所有学生信息
for(inti=0;
if(read[i].get_tb()==0)
read[i].out();
voidstudentdata();
//学生库维护
~studentbase()//析构函数,将read[]写到student.txt文件中
out);
for(inti=0;
if(read[i].get_tb()==0)
file.write((char*)&
read[i],sizeof(read[i]));
file.close();
voidstudentbase:
studentdata()
{
charchoice;
intex2;
charrname[20];
charryuan[20];
intkid;
student*r;
while(choice!
='
0'
)
cout<
\n\n\t\t\t学生资料库\n\n\n\t\t1新增\n\n\t\t2更改\n\n\t\t3删除\n\n\t\t4查找\n\n\t\t5显示\n\n\t\t6全删\n\n\t\t0退出"
cin>
>
choice;
switch(choice)
case'
1'
cout<
输入学号:
cin>
kid;
输入最大借书量:
cin>
ex2;
cout<
输入学生姓名:
rname;
cout<
输入学生所在院系:
ryuan;
addstudent(kid,ex2,rname,ryuan);
break;
case'
2'
r=query(kid);
if(r==NULL)
{
cout<
没有该学生信息!
"
break;
}
输入新的学生姓名:
r->
set_name(rname);
输入新的学生院系:
cin>
ryuan;
r->
set_yuan(ryuan);
3'
输入学号:
{
没有该学生信息!
<
endl;
break;
}
delbook();
4'
out();
5'
disp();
6'
clear();
default:
cout<
输入错误!
请重新输入:
break;
//图书类,实现对图书的描述,图书的编号,书名,作者,出版社,数量,借出,还入等
classBook
inttb;
//删除标记1:
//图书编号
charname[20];
//书名
charzuozhe[20];
//作者
charchubanshe[30];
//出版社
intnumber;
//图书数量
intonshelf;
//是否再架1:
再架2:
已借
Book(){}
char*getname(){returnname;
}//获取书名
intgetno(){returnno;
}//获取图书编号
char*getzuozhe(){returnzuozhe;
}//获取作者
char*getchubanshe(){returnchubanshe;
}//获取出版社
intgetnumber(){returnnumber;
}//获取图书数量
intgettb(){returntb;
}//获取删除标记
voidsetname(charna