第二周项目 5 数组做数据成员(3)(4)
2015-03-26 15:10
344 查看
/* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称 : main.cpp *作 者 :韩娟 *完成日期 :2015年3月26日 *版 本 号 :v1.0 *问题描述 :手工输入工资?!太让人不能忍受了。现给出包含了不足500个职工工资的文件salary.txt(点击打开链接),从文件中读数据,完成上面的工作。 增加一个成员函数,将排序后结果保存到一个文件中。 *输入描述 :工资 *程序输出 :排序后工资数据 */ #include <iostream> #include <fstream> #include <cstdlib> using namespace std; const int N=500; class Salary { public: void read_data( ); void write_data(); void add_salarys(int x); void sort_salarys(); void show_salarys( ); private: double salarys ; int number; }; void Salary::read_data( ) { int i; ifstream infile("salary.txt",ios::in); if(!infile) { cerr<<"open error!"<<endl; exit(1); } i=0; while(infile>>salarys[i]) i++; number=i; infile.close(); } void Salary::write_data( ) { int i; ofstream outfile("salary_ordered.txt",ios::out); if(!outfile) { cerr<<"open error!"<<endl; exit(1); } for(i=0; i<number; ++i) { outfile<<salarys[i]<<endl; } outfile.close(); } void Salary::add_salarys(int x) { int i; for (i=0; i<number; i++) salarys[i]+=x; } void Salary::sort_salarys() { int i,j; double t; for (i=0; i<number-1; i++) for(j=0; j<number-i-1; j++) if (salarys[j]<salarys[j+1]) { t=salarys[j]; salarys[j]=salarys[j+1]; salarys[j+1]=t; } } void Salary::show_salarys( ) { int i; for (i=0; i<number; i++) cout<<salarys[i]<<"\t"; } int main( ) { int x; Salary salary; salary.read_data( ); cout<<"请输入增加的金额:"<<endl; cin>>x; salary.add_salarys(x); salary.sort_salarys(); salary.write_data( ); cout<<"排序后的工资为:"<<endl; salary.show_salarys( ); return 0; }
知识点总结 :
使用文件导入的格式不记得了,还是去贺老的博客再看了一遍才想起来。
学习心得 :
多逛逛csdn。
相关文章推荐
- 第二周项目5——数组作数据成员(1)
- 第二周项目5——数组做数据成员(5)(多文件组织)
- 第二周项目5——数组做数据成员(2)
- 第二周 项目五:数组作数据成员(3)
- 第二周 项目五:数组作数据成员(2)
- 第二周 项目五:数组作数据成员(5)
- 第二周项目 5 数组作数据成员(2)
- 第二周项目 5 数组作数据成员(5)
- 第二周项目5——数组做数据成员(3)(4)
- 第二周项目 5 数组作数据成员(1)
- 第二周项目五--数组做数据成员2
- 第二周 项目五:数组作数据成员(4)
- 第二周 项目五:数组作数据成员(1)
- 第二周项目五--数组做数据成员
- 第四周(项目四扩展2)——数组做数据成员<读取文件>
- 第二学期第四周项目4--数组做数据成员
- 第四周项目4-数组作数据成员
- 第四周(项目四)——数组做数据成员。
- 项目4--数组做数据成员
- C++第4周(春)项目4 数组作数据成员