#include <string.h>
#include <iomanip.h>
class reader
{
private:
char code[4]; //读者编号
char name[10]; //读者姓名
public:
void get() //输入读者资料
{
cout<<"请输入读者编号:";
cin>>code;
cout<<"请输入读者姓名:";
cin>>name;
}
void print() //打印读者资料
{
cout<<"读者编号:"<<code<<endl;
cout<<"读者姓名:"<<name<<endl;
}
char* getcode()
{
return(code);
}
char* getname()
{
return(name);
}
};
class book
{
private:
char code[4]; //书籍编号
char name[10]; //书籍名称
char writer[10]; //书籍作者
char concern[10]; //书籍出版社
float price; //书籍价格
public:
char flag; //判断此书是否借出
book() //利用构造函数,将flag变量默认为'N',即没有借出
{
flag = 'N';
}
void get() //输入书籍资料
{
cout<<"请输入书籍编号:";
cin>>code;
cout<<"请输入书籍名称:";
cin>>name;
cout<<"请输入书籍作者:";
cin>>writer;
cout<<"请输入书籍出版社:";
cin>>concern;
cout<<"请输入书籍价格:";
cin>>price;
}
void print()
{
cout<<"书籍编号:"<<code<<endl;
cout<<"书籍名称:"<<name<<endl;
cout<<"书籍作者:"<<writer<<endl;
cout<<"书籍出版社:"<<concern<<endl;
cout<<"书籍价格:"<<price<<endl;
}
void getflag()
{
cout<<"确认要租此书吗?[Y/N]";
cin>>flag;
}
char* getcode()
{
return(code);
}
char* getname()
{
return(name);
}
};
class readerborrowbook //用于记录租书情况的类
{
public:
char readercode[4];
char bookcode[4];
void borrowbook()
{
cout<<"请输入您的读者编号:";
cin>>readercode;
cout<<"请输入您要借的书籍的编号:";
cin>>bookcode;
}
void print()
{
cout<<"借书证号:"<<readercode<<endl;
cout<<"借的书籍:"<<bookcode<<endl;
}
};
//}
class MainClass{
public:
reader readerzlk[50]; //定义读者库数组(读者库)
book library[100]; //定义书籍数组(书籍库)
readerborrowbook rbb[100]; //定义借书记录数组(借书库)
fstream file_reader; //定义读者库文件对象(全局的)
fstream file_book; //定义书籍库文件对象(全局的)
fstream file_rbb; //定义借书库文件对象(全局的)
int r;// = 0; //记录读者个数
int b;// = 0; //记录书籍本数
int t;// = 0; //记录借书记录
void CSHreader() //初始化读者库函数
{
file_reader.open("readerfile.txt", ios::in); //打开文件
file_reader.read((char*)&readerzlk[0], sizeof(readerzlk[0]));//将文件内容读到读者库数组的第一个对象
if (strlen(readerzlk[0].getcode()) == 0)//判断第一个对象的内容是否为空,如为空,则文件为空
{
cout<<"读者库信息为空,请建立读者信息。"<<endl;
}
else
{
while(!file_reader.eof())//否则将文件后面的内容读到读者库数组后面的对象之中,从而达到初始化的效果
{
r++;