对一段源代码的高分奖励
# include & ltfstream & gt
# include & ltconio.h & gt
使用命名空间std
图书管理员类//图书管理员类
{
公共:
图书管理员();
Librarian(int n,int j,char na[20],int w);
int get number();
int getjobage();
char * getname();
int get wages();
void reset jobage(int j);
void reset wages(int w);
void reset name(char na[20]);
私人:
int数;
int jobage
char name[20];
int工资;
};
Librarian::Librarian() //其函数的实现
{
数字= 0;
char b[20]= "没有人";
jobage = 0;
strcpy(名称,b);
}
Librarian::Librarian(int n,int j,char na[20],int w)
{
数字= n;
jobage = j;
strcpy(姓名,不适用);
工资= w;
}
int Librarian::getjobage()
{返回jobage}
char *Librarian::getname()
{返回姓名;}
int Librarian::getnumber()
{返回号码;}
int Librarian::getwages()
{返还工资;}
void Librarian::reset jobage(int j)
{
jobage = j;
}
void Librarian::reset name(char na[20])
{
strcpy(姓名,不适用);
}
void Librarian::resetwages(int w)
{
工资= w;
}
类读取器//读取器类
{
私人:
int数;
int age
char name[20];
char borrow book[20];
公共:
reader();
reader(int c,int a,char b[20],char e[20]);
int get number();
int getage();
char * getname();
char * getborrowbook();
void rework borrow book(char a[20]);
};
Reader::reader() //其函数的实现
{
Char a[20]=“没有人”;
Char c[20]=“不借书”;
数字= 0;
年龄= 0;
}
reader::reader(int a,int c,char d[20],char e[20])
{
数字= a;
年龄= c;
strcpy(名称,d);
strcpy(borrowbook,e);
}
int reader::get number(){ return number;}
int reader::getage(){ return age;}
char * reader::getname(){ return name;}
char * reader::getborrowbook(){ return borrowbook;}
void reader::rework borrow book(char a[20]){ strcpy(borrow book,a);}
结构书//书的结构
{
int num
char name[20];
char writer[20];
};
voidobookinf()//输出所有图书信息。
{
int I;
ifstream infile("allbook.txt ",IOs::in);
充电线[50];
cout & lt& lt"标题"
for(I = 1;我& lt=10;i++)
{
infile.getline(line,50,' \ n ');
cout & lt& ltline & lt& ltendl
}
infile . close();
}
void serchlanif()//图书管理员信息函数
{
int n,I;
ifstream文件(" serchlanif . txt ");
if(file){ file & gt;& gtn;file . close();}
else { cout & lt& lt“没有图书管理员”;退出(0);}
ifstream是(" controlloer.txt ",IOs _ base::binary);
如果(为)
{
图书管理员* A =新图书管理员[n];
for(I = 0;我& ltn;i++)
{
is . read((char *)& amp;A[i],sizeof(A[I]);
}
for(I = 0;我& ltn;i++)
{
cout & lt& lt“没有”< & lt\ t ' & lt& lt“服务年限”
cout & lt& lt甲[我]。get number()& lt;& lt" \ t " & lt& lt甲[我]。getjobage()& lt;& lt" \ t " & lt& lt甲[我]。getname()& lt;& lt" \ t " & lt& lt甲[我]。get wages()& lt;& ltendl
}
}
其他
{
cout & lt& lt"打开txt文件时出错'"
}
is . close();
}
void library()//库的全部信息
{
系统(“cls”);
系统(" color 2e ");
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt“我校图书馆由本部图书馆和彭州校区图书馆组成,总面积* * * *平方米”;
cout & lt& lt“(图书馆现在有* * *万册书,* * *万册书,* * *万册书,* * *万册书* * * * *万册书),”;
cout & lt& lt“* * *现有图书馆工作人员姓名”;
cout & lt& lt“图书馆现有的现代化设备价值* * * *万余元………………”< & ltendl
}
Void storelibrarian() //存储新管理员的信息。
{
整数,n,数字,工资;
char name[20];
ifstream文件(" serchlanif . txt ");
if(file){ file & gt;& gtn;file . close();}
else { n = 0;}
cout & lt& lt"现有图书馆员的数量:";
cout & lt& ltn & lt& ltendl
cout & lt& lt请输入新图书管理员的编号、服务年限、姓名和工资:
CIN & gt;& gtnum & gt& gt年龄& gt& gt名称& gt& gt工资;
图书管理员A(人数、年龄、姓名、工资);
cout & lt& lt人数、服务年限、姓名和工资
cout & lt& lta . get number()& lt;& lt" " " & lt& lta . getjobage()& lt;& lt" " " & lt& lta . getname()& lt;& lt" " " & lt& lta . get wages()& lt;& ltendl
of stream outfile(" control loer . txt ",IOs _ base::app);
outfile . write((char *)& amp;A,sizeof(A));
outfile . close();
n++;
of stream tfile(" serchlanif . txt ");
tfile & lt& ltn;
tfile . close();
cout & lt& lt“保存成功!”;
}
Void reLaninf() //修改图书管理员
{
int i,n,h,jobage,wage,j;
char name[20];
ifstream文件(" serchlanif . txt ");
if(file){ file & gt;& gtn;file . close();}
else { cout & lt& lt“没有图书管理员”;
退出(0);}
cout & lt& lt"现有图书馆员的数量:";
cout & lt& ltn & lt& ltendl
图书管理员* A =新图书管理员[n];
ifstream是(" controlloer.txt ",IOs _ base::binary);
如果(为)
{
for(I = 0;我& ltn;i++)
{
is . read((char *)& amp;A[i],sizeof(A[I]);
}
for(I = 0;我& ltn;i++)
{
cout & lt& lt人数、服务年限、姓名和工资
cout & lt& lt甲[我]。get number()& lt;& lt" " " & lt& lt甲[我]。getjobage()& lt;& lt" " " & lt& lt甲[我]。getname()& lt;& lt" " " & lt& lt甲[我]。get wages()& lt;& ltendl
}
}
其他
{
cout & lt& lt"打开文件时出错"
}
is . close();
cout & lt& lt"请选择您要修改的管理员号码:";
CIN & gt;& gth;
cout & lt& lt输入新的服务年限、姓名和薪金。
CIN & gt;& gtjobage & gt& gt名称& gt& gt工资;
A[h-1]。reset jobage(jobage);
A[h-1]。resetname(名称);
A[h-1]。工资;
cout & lt& lt"此管理员的修改名称是:"
ofstream tfile("controlloer.txt ",IOs _ base::binary);
for(j = 0;j & ltn;j++)
{
tfile . write((char *)& amp;A[j],sizeof(A[j]);
}
tfile . close();
}
void EAD book()//添加新书
{
int num字符名称[12];char writer[10];int n;
答:
ofstream fout("allbook.txt ",IOs::app);
cout & lt& lt"请输入图书信息:"
cout & lt& lt"标题"
CIN & gt;& gt姓名;fout & lt& lt名称& lt& lt\ t ';
CIN & gt;& gtnumfout & lt& ltnum & lt& lt\ t ';
CIN & gt;& gt作家;fout & lt& lt作家& lt& lt\ n ';
fout . close();
cout & lt& lt“继续进入吗?1.是2。没有"
CIN & gt;& gtn;
如果(n==1)
转到a;
其他
{ void studentland();
student land();}
}
Void delate() //删除函数
{ int m;
cout & lt& lt"选择操作选项:"
cout & lt& lt"1.删除所有信息"
cout & lt& lt"2.单一删除”
CIN & gt;& gtm;
如果(m==1)
{ofstream文件(" allbook.txt ",IOs::trunc);
cout & lt& lt“全部删除,按任意键返回!”& lt& ltendl
file . close();
getch();
系统(“cls”);
void studentland();
student land();
}
char str[10][80],buf[20];
答:
int i=0,flag=100,c = 0;
ifstream fin(" all book . txt ");
如果(!fin){
cout & lt& lt"文件打开失败!"& lt& ltendl
getch();
系统(“cls”);
void studentland();
student land();
}
cout & lt& lt"请输入您想删除的书名:"
CIN & gt;& gtbuf
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 & lt& lt“没有您想删除的书!再按1,否则0……”< & ltendl
int b;
CIN & gt;& gtb;
if(b==1)转到a;
else c = 1;
}
if(c==0){
of stream fout(" all book . txt ");
for(int j = 0;j & lt我;j++){
if(j==flag)继续;
fout & lt& ltstr[j]& lt;& ltendl
}
fout . close();
cout & lt& lt“你要删除的书的信息已经被删除了。继续按1,否则按0……”< & ltendl
int b;
CIN & gt;& gtb;
if(b==1)转到a;
}
cout & lt& lt"操作已经结束,按任意键返回..."< & ltendl
getch();
系统(“cls”);
void studentland();
student land();
}
Void searchbook() //查找书籍
{
答:
ifstream fin
int flag=0,b,长度;
char string[20];
char f[200];char g[200];
fin . open(" all book . txt ");
如果(!鳍)
{
cout & lt& lt"打开f1.dat错误....."& lt& ltendl
退出(1);
}
while(1)
{
cout & lt& lt请输入标题:“;
CIN & gt;& gtstr
strcat(str," \ t ");
length = strlen(str);
cout & lt& lt“-”& lt;& ltendl
while(fin.getline(f,199))
{
strcpy(g,f);
if(strncmp(str,f,length)==0)
{
flag = 1;
打破;
}
}
if(flag==1)
{
cout & lt& lt"查询的书已经找到:"
cout & lt& lt“-”& lt;& ltendl
cout & lt& lt"标题"
cout & lt& ltg & lt& ltendl
cout & lt& lt“-”& lt;& ltendl
flag = 0;
cout & lt& lt要继续查询,请按1,否则请按0
CIN & gt;& gtb;
if(b = = 0)break;
}
其他
{
fin . close();
cout & lt& lt“如果没有书,继续按1,否则按0……”& lt& ltendl
CIN & gt;& gtb;
if(b = = 0)break;
转到a;
}
}
fin . close();
cout & lt& lt"查询结束后,按任意键返回..."< & ltendl
getch();
系统(“cls”);
void studentland();
student land();
}
void sea hreader()//查询阅读器信息
{
答:
ifstream fin
int flag=0,b,长度;
char string[20];
char f[200];char g[200];
fin . open(" reader num . txt ");
如果(!鳍)
{
cout & lt& lt“没有这个信息档案!”& lt& ltendl
退出(1);
}
while(1)
{
cout & lt& lt"请输入您要查找的读者的姓名:";
CIN & gt;& gtstr
strcat(str," \ t ");
length = strlen(str);
cout & lt& lt“-”& lt;& ltendl
while(fin.getline(f,199))
{
strcpy(g,f);
if(strncmp(str,f,length)==0)
{
flag = 1;
打破;
}
}
if(flag==1)
{
cout & lt& lt"已找到查询的读取器:"
cout & lt& lt“-”& lt;& ltendl
cout & lt& lt"名称"
cout & lt& ltg & lt& ltendl
cout & lt& lt“-”& lt;& ltendl
flag = 0;
cout & lt& lt要继续查询,请按1,否则请按0
CIN & gt;& gtb;
if(b = = 0)break;
转到a;
}
其他
{
fin . close();
cout & lt& lt“如果没有这个人,继续按1,否则按0……”& lt& ltendl
CIN & gt;& gtb;
if(b = = 0)break;
转到a;
}
}
fin . close();
cout & lt& lt"查询结束后,按任意键返回..."< & ltendl
getch();
系统(“cls”);
void studentland();
student land();
}
/* void sea hreader()//查询读者信息
{
int i,b,h = 0;
char a[20];
ifstream文件(" reader num . txt ");
if(file){ file & gt;& gtb;file . close();}
else { cout & lt& lt”没有文件”;}
cout & lt& lt"现有读者的数量:";
cout & lt& ltb & lt& ltendl
读者* A =新读者[b];
ifstream是(" reader.txt ",IOs _ base::binary);
如果(为)
{
for(I = 0;我& ltb;i++)
{
is . read((char *)& amp;A[i],sizeof(A[I]);
}
}
其他
{
cout & lt& lt"打开txt文件时出错"
}
is . close();
cout & lt& lt"请输入您要查找的读者的姓名:";
CIN & gt;& gta;
for(I = 0;我& ltb;i++)
{
if(strcmp(A[i].getname(),a)==0)
{
cout & lt& lt“图书的数量、年代、名称和借阅情况”< & ltendl
cout & lt& lt甲[我]。get number()& lt;& lt" " " & lt& lt甲[我]。getage()& lt;& lt" " " & lt& lt甲[我]。getname()& lt;& lt" " " & lt& lt甲[我]。getborrowbook()& lt;& ltendl
h++;
}
}
if(h = = 0)cout & lt;& lt“没有这样的读者!”;
}
*/
Void Librarianland() //管理员登录函数
{
int q,l=1,I,h;
系统(“cls”);
系统(" color 2e ");
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& lt要立即确认您的身份,请输入密码:
CIN & gt;& gt我;
当(l)
{
如果(i==00000)
{
系统(“cls”);
系统("颜色3e ");
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& lt" | * * * * * * * " & lt& lt0,返回上一级菜单。< & lt“* * * * * * * |”& lt;& ltendl
cout & lt& lt" " " & lt& lt" | * * * * * * * " & lt& lt1,查询图书管理员信息
cout & lt& lt" " " & lt& lt" | * * * * * * * " & lt& lt"2.存储新的管理员信息。
cout & lt& lt" " " & lt& lt" | * * * * * * * " & lt& lt"3.修改图书管理员的信息"
cout & lt& lt" " " & lt& lt" | * * * * * * * " & lt& lt“4、新书”
cout & lt& lt" " " & lt& lt" | * * * * * * * " & lt& lt“5、删除书籍”
cout & lt& lt”请选择要执行的操作:“;
CIN & gt;& gtq;
if(q & gt;= 0 & amp& ampq & lt6)
{
开关(q)
{
案例0:
l = 0;
打破;
案例1:serchlanif();
系统(“暂停”);
打破;
案例二:store librarian();
系统(“暂停”);
案例三:reLaninf();
系统(“暂停”);
打破;
案例4:
void aad book();
aadbook();
打破;
案例5:
void delate();
delate();
打破;
默认值:
打破;
}
}
其他
{
系统(“cls”);
系统("颜色4e ");
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& lt“无效操作!”& lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
系统(“暂停”);
}
}
其他
{
系统(“cls”);
系统(" color 2e ");
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& lt"身份确认失败"
cout & lt& lt" " " & lt& lt“要不要再确认一下!”& lt& ltendl
cout & lt& lt" " " & lt& lt“重新确认请按1,放弃请按0”< & lt;endl
cout & lt& lt" ";
CIN & gt;& gth;
if(h = = 0)l = 0;
如果(h==1)
{
系统(“cls”);
系统(" color 2e ");
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& lt请再次输入密码:“;
CIN & gt;& gt我;
}
}
}
}
Void studentland() //学生登录函数
{
int h;
char l = ' y
while(l=='y ')
{
系统(“cls”);
系统("颜色3e ");
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& lt“* * * * * * *”& lt;& lt|要输出库信息,请按1 |。
cout & lt& lt" " " & lt& lt“* * * * * * *”& lt;& lt|关于图书馆的一般信息,请按2 |。
cout & lt& lt" " " & lt& lt“* * * * * * *”& lt;& lt|要按标题查找书籍,请按3 |。
cout & lt& lt" " " & lt& lt“* * * * * * *”& lt;& lt|关于读者的信息,请按4 |。
cout & lt& lt" " " & lt& lt“* * * * * * *”& lt;& lt|要返回上一级菜单,请按0 |。
cout & lt& lt"请选择您将执行的操作:";
CIN & gt;& gth;
如果(h & gt= 0 & amp& amph & lt5)
开关(h)
{
案例0:
l = ' n
打破;
案例1:outbook INF();
系统(“暂停”);
打破;
案例二:libary();
系统(“暂停”);
打破;
案例三:search book();
系统(“暂停”);
打破;
案例四:sea hreader();
系统(“暂停”);
打破;
}
其他
{
系统(“cls”);
系统("颜色4e ");
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& lt“你的操作无效!!!!"& lt& ltendl
系统(“暂停”);
}
}
}
Void main() //主函数
{
int h,l = 1;
当(l)
{
系统(“cls”);
系统("颜色7c ");
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& lt“图书管理系统”
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt“-”& lt;& ltendl
cout & lt& lt" " " & lt& lt" ||请按1 | | " & lt;& ltendl
cout & lt& lt" " " & lt& lt" |||请按2 || "
cout & lt& lt" " " & lt& lt|||要退出系统,请按0 ||。
cout & lt& lt“-”& lt;& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt"请选择登录方式:";
CIN & gt;& gth;
如果(h & gt= 0 & amp& amph & lt3)
{
开关(h)
{
案例0:
cout & lt& lt“感谢您光临我们的图书馆!”& lt& ltendl
退出(0);
案例1:
librarianland();
系统(“暂停”);
打破;
案例二:
student land();
系统(“暂停”);
打破;
}
}
其他
{
系统(“cls”);
系统("颜色4e ");
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& ltendl
cout & lt& lt" " " & lt& lt“你的操作无效!!!!"& lt& ltendl
系统(“暂停”);
}
}
}
图书馆管理系统。