P269 5

#include <iostream> 
#include <fstream> 
using namespace std; 
struct staff 
{int num;  
char name[20]; 
int age;  
double 
pay; 
};  
int main()  
{staff staf[7]={2101,"Li",34,1203,2104,"Wang",23,674.5,2108,"Fun",54,778,3006,"Xue",45,476.5,5101,"Ling",39,656.6},staf1; 
fstream iofile("staff.dat",ios::in|ios::out|ios::binary); 
if(!iofile)  
{cerr<<"open error!"<<endl; 
abort(); 
}  
int i,m,num;  
cout<<"Five staff :"<<endl; 
for(i=0;i<5;i++)  
{cout<<staf[i].num<<" "<<staf[i].name<<" "<<staf[i].age<<" "<<staf[i].pay<<endl; 
iofile.write((char *)&staf[i],sizeof(staf[i]));} 
cout<<"please input data you want insert:"<<endl; 
for(i=0;i<2;i++)  
{cin>>staf1.num>>staf1.name>>staf1.age>>staf1.pay; 
iofile.seekp(0,ios::end);  
iofile.write((char *)&staf1,sizeof(staf1));} 
iofile.seekg(0,ios::beg); 
for(i=0;i<7;i++)  
{iofile.read((char *)&staf[i],sizeof(staf[i]));  
cout<<staf[i].num<<" "<<staf[i].name<<" "<<staf[i].age<<" "<<staf[i].pay<<endl; 
}  
bool find;  
cout<<"enter number you want search,enter 0 to stop.";  
cin>>num; 
while(num) 
{find=false;  
iofile.seekg(0,ios::beg); 
for(i=0;i<7;i++)  
{iofile.read((char *)&staf[i],sizeof(staf[i])); 
if(num==staf[i].num) 
{m=iofile.tellg();  
cout<<num<<" is No."<<m/sizeof(staf1)<<endl;  
cout<<staf[i].num<<" "<<staf[i].name<<" "<<staf[i].age<<" "<<staf[i].pay<<endl; 
find=true; 
break; 
} 
}  
if(!find)  
cout<<"can't find "<<num<<endl;  
cout<<"enter number you want search,enter 0 to stop."; 
cin>>num; 
}  
iofile.close(); 
return 0; 
} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值