第五题
2015-06-08 22:58
232 查看
#include <iostream> #include <fstream> #include<stdlib.h> 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"); if(!iofile) {cerr<<"open error!"<<endl; exit(1); } int i,m,num; cout<<"五个员工 :"<<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<<"输入号码(0结束):"<<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<<"查询."; 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<<"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<<"NOT FOUNT "<<num<<endl; cout<<"输入号码(0结束)."; cin>>num; } iofile.close(); return 0; }
文件出错
相关文章推荐
- leetcode--Search a 2D Matrix
- linux设备驱动开发详解 通过O_RDWR IOCTL 读写i2c设备
- 性能优化第四篇--移动网络优化
- Java集合框架面试问题集锦
- appium java 环境搭建
- 搭建GIT服务器
- spring总结
- DBUS 的 C 编程接口与配置
- C# 中 async/await 调用传统 Begin/End 异步方法
- ISO 一些常用基本方法
- 简单、强大的swig.js
- Yii2基类控制器文件分析(yii\base\Controller.php)创建动作执行动作
- 友盟分享Demo iOS
- Dialog-普通对话框-列表对话框
- linux文件系统结构和权限
- OC中的NSValue
- Linux-基础命令测试(一)
- Ice Sculptures
- HBase在win7下eclipse中Java实现对表的操作报错解决
- cocos2d的armature绑定到其他armature骨骼上的bug