P269 5
2015-06-10 19:58
253 查看
#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&l 9490 t;<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; }
相关文章推荐
- 常见的HTTP状态码
- liferay二次开发部署在weblogic上的文件下载中文名问题解决
- 匿名函数(function(){})
- 线程与进程的区别
- Leetcode[19]-Remove Nth Node From End of List
- Hadoop Balancer源码解读
- [技巧篇]01.Servlet的优化模版代码
- 第11/24周 重编译
- Mybatis学习(六)mybatis与hibernate区别与应用场景
- 获取某个网页的源代码显示在手机界面上
- 认识自己——人的野心和目标
- 新秀发挥云17号:RHEL改变以太网地址克隆虚拟机后,
- linux RTAI模块编程遇到的问题
- 渣渣ACM日记——1009-FatMouse' Trade (HDOJ)
- file.toURI().toURL()
- 数组方法:排序和清空
- Can you find it?
- 可变参数列表及printf函数的实现
- TIJ英文原版书籍阅读之旅——Chapter Five:Initialization & Cleanup
- 复制对象 copy 与mutable copy