C++习题二第12题
2015-09-23 20:23
387 查看
输入职工信息,打印到文件,然后读取文件再输出职工实发工资
#include<iostream> #include<fstream> #include<iomanip> using namespace std; int main(){ string number; string name; int basic_salary; int overtime_salary; int bonus_salary; int deduction; ofstream outData("Salary.dat"); ifstream inData; outData<<"职工编号 "<<"姓名 "<<"基本工资 "<<"加班工资 "<<"奖金 "<<"扣除 "<<"实发工资 "<<endl; for(int i=0;i<3;i++){ cout<<"职工编号: "; cin>>number; cout<<"姓名 : "; cin>>name; cout<<"基本工资: "; cin>>basic_salary; cout<<"加班工资: "; cin>>overtime_salary; cout<<"奖金 : "; cin>>bonus_salary; cout<<"扣除工资: "; cin>>deduction; outData<<setiosflags(ios::left); outData<<setw(10)<<number<<setw(10)<<name<<setw(10)<<basic_salary<<setw(10)<<overtime_salary<<setw(10)<<bonus_salary<<setw(10)<<deduction<<endl; } outData.close(); inData.open("Salary.dat",ios::app); string str[7]; int real_salary; for(int i=0;i<7;i++) inData>>str[i]; inData>>number; while(!inData.eof()){ inData>>name>>basic_salary>>overtime_salary>>bonus_salary>>deduction; real_salary=basic_salary+overtime_salary+bonus_salary-deduction; cout<<name<<"'s salary is "<<real_salary<<endl; inData>>number; } inData.close(); return 0; }再读取文件时,注意细节,把inData>>number与大语句分开,否则会输出两次最后一行的信息
相关文章推荐
- 文章标题
- 蓝桥杯 地宫寻宝 带缓存的DFS
- Effective C++——条款53(第9章)
- VC++编译器调试(一)
- POJ C++程序设计 编程题#7:字符串排序
- C++函数返回引用
- string c++ 详解 erase find .
- c++设计模式----解释器模式interpreter
- 【c++ templates读书笔记】【2】类模板
- 【c++ templates读书笔记】【2】类模板
- C++一个简单的手柄类模板
- C++学习记录之STL函数
- 如何使用Valgrind memcheck工具进行C/C++的内存泄漏检测
- OC语言混合编辑
- cmd下nmake编译c++文件提示找不到VC下面的头文件
- RichEdit的复制与粘贴
- 只恨当初没有你——C++等级选择篇(一)
- C常用函数的实现
- 用C开发一个简易的webserver
- Largest Point