📄 find.cpp
字号:
//find.cpp 查询
#include "begin.h"
void basic::find(fstream f)
{ int choice ; bargain peijian ;
char key1[a]; char key2[c]; char *s="end";
f.seekg( 0, ios::end ) ; // 读指针移到文件末尾
long posEnd = f.tellg() ; // 记录文件尾位置
cout << "********** 价格查询 **********\n" ;
while (1)
{ cout << "请键入操作选择:\n"
<<"1--查询价格 0--退出\n" ;
cin >> choice ;
switch ( choice )
{ case 1: // 按代号和简称检索
{ f.seekg( 0, ios::beg ); // 读指针移到文件开头
cout << "请输入代号和简称:\n?代号: " ;
cin>>key1 ;// 输入代号和简称进行查找
cout <<"?简称:";
cin >>key2;
do // 按代号和简称查找,读数据赋给结构变量peijian
{ f.read((char *) & peijian, sizeof(bargain)) ;
} while ((strcmp( peijian.id,key1)!=0 || strcmp(peijian.jiancheng,key2)!=0) && f.tellg() != posEnd ) ;
if (strcmp(key1,peijian.id)==0 && strcmp(key2 ,peijian.jiancheng)==0 ) // 找到记录
{cout <<setiosflags(ios::left)<<setw(10)
<<"代号"<<setw(12)<<"名称"<<setw(30)
<<"简称"<<setw(10)<<"类型"<<setw(10)<<"数量"
<<setw(10)<<"价钱"<<endl
<<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;}
else { cout << "代号或简称错误或该商品不存在!\n" ; continue; }
break ;
};
case 110:
{ f.seekg( 0, ios::beg ); // 读指针移到文件开头
cout << "请输入代号和简称:\n?代号: " ; cin>>key1 ;// 输入代号和简称进行查找
cout <<"?简称:"; cin >>key2;
do // 按代号和简称查找,读数据赋给结构变量peijian
{ f.read((char *) & peijian, sizeof(bargain)) ;
} while ((strcmp( peijian.id,key1) || strcmp(peijian.jiancheng,key2)) && f.tellg() != posEnd );
if (strcmp(key1,peijian.id)==0 && strcmp(key2 ,peijian.jiancheng)==0) // 找到记录
cout <<setiosflags(ios::left)<<setw(10)
<<"代号"<<setw(12)<<"名称"<<setw(30)
<<"简称"<<setw(10)<<"类型"<<setw(10)<<"数量"
<<setw(10)<<"原价"<<setw(10)<<"价钱"<<endl
<<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;
else { cout << "代号或简称错误或该商品不存在!\n" ; continue; }
break ;
};
case 0 : return ;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -