📄 browse.cpp
字号:
//browse.cpp
#include "begin.h"
void basic::browse(fstream f)
{ int answer ; struct bargain peijian;
char call[a]; char recall[a];
char *s="end";
f.seekg( 0, ios::end ) ; // 读指针移到文件末尾
long posEnd = f.tellg() ; // 记录文件尾位置
cout << "********** 浏览文件 **********\n" ;
cout << "请键入操作选择:\n";
cout <<"1--浏览全文件 2--浏览某车型 0--退出"<<endl;
cin >>answer;
switch(answer)
{
case 1:{
system("cls");
cout<<setiosflags(ios::left)<<setw(10)
<<"代号"<<setw(12)<<"名称"<<setw(30)
<<"简称"<<setw(10)<<"类型"<<setw(10)<<"数量"
<<setw(10)<<"价钱"<<endl;
f.seekg( 0, ios::beg );
for(;f.tellp() != posEnd;)
{
f.read((char *) & peijian , sizeof(bargain)) ;
if(strcmp(peijian.id,s)==0)continue;
cout<<setiosflags(ios::left)<<setw(10)
<<peijian.id<<setw(12)<<peijian.name<<setw(30)
<<peijian.jiancheng<<setw(10)<<peijian.type <<setw(3)
<<setprecision(2)<<resetiosflags(ios::left)
<<setiosflags(ios::fixed|ios::showpoint)<<peijian.account<<setw(11)
<<peijian.price<<endl;
}
cout <<endl;
break;
}
case 2:{
system("cls");
cout <<"请输入车型代号:\n";
cin >>call;
f.seekg( 0, ios::beg );
do // 按代号和简称查找,读数据赋给结构变量peijian
{ f.read((char *) & peijian, sizeof(struct bargain)) ;
} while (strcmp( peijian.id,call)!=0 && f.tellg() != posEnd);
if(strcmp(peijian.id,call)==0)
{
cout<<setiosflags(ios::left)<<setw(10)
<<"代号"<<setw(12)<<"名称"<<setw(30)
<<"简称"<<setw(10)<<"类型"<<setw(10)<<"数量"
<<setw(10)<<"价钱"<<endl;
f.seekg( 0, ios::beg );
for(;f.tellp() != posEnd;)
{
f.read((char *) & peijian , sizeof(bargain)) ;
if(strcmp(peijian.id,s)==0)continue;
if(strcmp(peijian.id,call)==0)
{
cout<<setiosflags(ios::left)<<setw(10)
<<peijian.id<<setw(12)<<peijian.name<<setw(30)
<<peijian.jiancheng<<setw(10)<<peijian.type <<setw(3)
<<setprecision(2)<<resetiosflags(ios::left)
<<setiosflags(ios::fixed|ios::showpoint)<<peijian.account<<setw(11)
<<peijian.price<<endl;
}
}
cout <<endl;
}
else cout<<"该车型不存在相关产品!!!"<<endl<<endl;
break;
}
case 110:{
system("cls");
cout <<setiosflags(ios::left)<<setw(10)
<<"代号"<<setw(12)<<"名称"<<setw(30)
<<"简称"<<setw(10)<<"类型"<<setw(10)<<"数量"
<<setw(10)<<"原价"<<setw(10)<<"售价"<<endl;
f.seekg( 0, ios::beg );
for(;f.tellp() != posEnd;)
{
f.read((char *) & peijian , sizeof(bargain)) ;
if(strcmp(peijian.id,s)==0)continue;
cout<<setiosflags(ios::left)<<setw(10)
<<peijian.id<<setw(12)<<peijian.name<<setw(30)
<<peijian.jiancheng<<setw(10)<<peijian.type<<setw(3)
<<setprecision(2)<<resetiosflags(ios::left)
<<setiosflags(ios::fixed|ios::showpoint)<<peijian.account<<setw(11)
<<peijian.buyprice <<setw(11)<<peijian.price<<endl;
}
cout <<endl;
break;
}
case 120:{
system("cls");
cout <<"请输入车型代号:\n";
cin >>recall;
f.seekg( 0, ios::beg );
do // 按代号和简称查找,读数据赋给结构变量peijian
{ f.read((char *) & peijian, sizeof(struct bargain)) ;
} while (strcmp( peijian.id,recall)!=0 && f.tellg() != posEnd);
if(strcmp(peijian.id,recall)==0)
{
cout <<setiosflags(ios::left)<<setw(10)
<<"代号"<<setw(12)<<"名称"<<setw(30)
<<"简称"<<setw(10)<<"类型"<<setw(10)<<"数量"
<<setw(10)<<"原价"<<setw(10)<<"售价"<<endl;
f.seekg( 0, ios::beg );
f.seekg( 0, ios::beg );
for(;f.tellp() != posEnd;)
{
f.read((char *) & peijian , sizeof(bargain)) ;
if(strcmp(peijian.id,s)==0)continue;
if(strcmp(peijian.id,recall)==0)
{
cout<<setiosflags(ios::left)<<setw(10)
<<peijian.id<<setw(12)<<peijian.name<<setw(30)
<<peijian.jiancheng<<setw(10)<<peijian.type <<setw(3)
<<setprecision(2)<<resetiosflags(ios::left)
<<setiosflags(ios::fixed|ios::showpoint)<<peijian.account<<setw(11)
<<peijian.buyprice <<setw(11)<<peijian.price<<endl;
}
}
cout <<endl;
}
else cout<<"该车型不存在相关产品!!!"<<endl<<endl;
break;
}
case 0 : return ;
default: cout <<"输入的代号有误,请重新输入!"<<endl;break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -