📄 ceshi.cpp
字号:
#include<iostream.h>
#include<string.h>
#include<iomanip.h>
#include<fstream.h>
#define Status int
#define OK 1
#define ERROR 0
/////////////////////////////////////////////////////////////////////////
class CStackRoom //书库类
{
private:
/* int iID; //书号
char sName[40]; //书名
char sPubCom[30]; //出版社
int iYear; //出版年份
char sAuthor[20]; //作者
int iPagNum; //页数
float fPrice; //价格
bool bExist; //是否在馆
*/
public:
void read_file(char filename[]); //一次从文件file读取十本书的资料
void write_file(char filename[]); //一次只能输入一本书
void sort_read(); //判断进入哪个书库 (会员)
void sort_write(); //判断进入哪个书库 (管理员)
};
//////////////////////////////////////////////////////////////////////////////
void CStackRoom::read_file(char filename[]) //一次从文件filename读取十本书的资料
{
fstream in;
in.open(filename,ios::in);
int i;
char order;
for(i=0;i<10 ;i++)
{
int temp;
in>>sName;
cout<<" 书 名 :"<<sName<<endl; //
in>>iID;
cout<<" 索引号 :"<<iID<<endl;//
in>>sAuthor;
cout<<" 作 者 :"<<sAuthor<<endl;
in>>fPrice;
cout<<" 价 格 :"<<fPrice<<endl;
in>>temp;
if(temp)cout<<" 借 出 :"<<"未借出!"<<endl;
else cout<<" 借 出 :"<<"已经借出!"<<endl;
in>>iPagNum;
cout<<" 页 数 :"<<iPagNum<<endl;
in>>sPubCom;
cout<<" 出版社 :"<<sPubCom<<endl;
in>>iYear;
cout<<"出版时间:"<<iYear<<endl<<endl;
cout<<"///////////////////"<<endl;
if(in.eof()){ cout<<"书库已经查询完毕!"<<endl; break; }
if(i==9)
{
cout<<"是否往下查找?(Y/N?)";
cin>>order;
if(order=='y'||order=='Y')i=0;
}
}
in.close();
}
////////////////////////////////////////////////////////////////////////////
void CStackRoom::write_file(char filename[]) //一次只能输入一本书
{
fstream out;
out.open(filename,ios::out|ios::app);
if(out.fail())
{
cerr<<"不能打开文件!"<<endl;
return ;
}
cout<<" 书 名 :";cin>>sName;
cout<<" 索引号 :";cin>>iID;
cout<<" 作 者 :";cin>>sAuthor;
cout<<" 价 格 :";cin>>fPrice;
cout<<" 页 数 :";cin>>iPagNum;
cout<<" 出版社 :";cin>>sPubCom;
cout<<"出版时间:";cin>>iYear;
bExist=true;
out<<sName<<" ";
out<<iID<<" ";
out<<sAuthor<<" ";
out<<fPrice<<" ";
out<<bExist<<" ";
out<<iPagNum<<" ";
out<<sPubCom<<" ";
out<<iYear<<" ";
out.close();
}
///////////////////////////////////////////////////////////////////
void CStackRoom::sort_write()
{
int order;
do{
cout<<"1.书属于A库"<<endl;
cout<<"2.书属于B库的书"<<endl;
cout<<"0.返回上页!"<<endl;
cin>>order;
switch(order)
{
case 0:break;
case 1:write_file("room_A.txt");break;
case 2:write_file("room_B.txt");break;
default:cout<<"输入非法数字!"<<endl;
}
}while(order);
}
//////////////////////////////////////////////////////////////
void CStackRoom::sort_read()
{
int order;
do{
cout<<"1.查找A库的书"<<endl;
cout<<"2.查找B库的书"<<endl;
cout<<"0.返回上页!"<<endl;
cin>>order;
switch(order)
{
case 0:break;
case 1:read_file("room_A.txt");break;
case 2:read_file("room_B.txt");break;
default:cout<<"输入非法数字!"<<endl;
}
}while(order);
}
/////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -