对一段源代码的高分奖励

# include & ltiostream & gt

# 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

系统(“暂停”);

}

}

}

图书馆管理系统。