第四周 任务四扩展二
来源:互联网 发布:java继承例子代码 编辑:程序博客网 时间:2024/04/30 17:47
/*任务 4 扩充 2(选做):手工输入工资?!太让人不能忍受了。现给出包含了 500 个职工工资的文件salary.txt,从文件中读数据,完成上面的工作。此任务可参照上一学期第 15 周任务 3 完成。还可以将排序后结果保存到一个文件中。*/#include<iostream>#include <fstream> using namespace std;class Salary{public:void cin_salay();//得到工资void cout_salay();//输出工资void bubble_sort();//排序void add_salary(double money);//加工资private:double salary[500];int number;};int main(){Salary Sal;Sal.cin_salay();cout << "原工资是:";cout << endl;Sal.cout_salay();cout << endl;Sal.add_salary(100);Sal.bubble_sort();cout << "涨完工资后是:";cout << endl;Sal.cout_salay();cout << endl;return 0;}void Salary :: cin_salay()//得到工资{ int i; number = 500; ifstream infile("salary.txt", ios::in); if(!infile) { cerr << "open error!" << endl; exit(1); } for(i = 0; i < number; i++) { infile >> salary[i]; } infile.close(); cout<<endl; }void Salary :: cout_salay()//保存工资{ int i; for(i = 0; i <= number - 1; i++) { cout << salary[i] << '\t'; if((i + 1) % 10 == 0) cout << endl; } cout<<endl; }void Salary :: bubble_sort()//排序{int i, j, k; double t; for(i = 0; i < number - 1; i++) { k = i; for(j = i + 1; j < number; j++) if(salary[j] > salary[k]) k = j; t = salary[k]; salary[k] = salary[i]; salary[i] = t; } }void Salary :: add_salary(double money)//加工资{int i; for(i = 0; i < number; i++) { salary[i] = salary[i] + money; } }