标签:
/*Copyright (c)2016,烟台大学计算机与控制工程学院 02.02.*All rights reserved. 03.03.*文件名称:main.cpp 04.04.*作 者:田志伟 05.05.*完成日期:2016年5月9日 06.06.*版 本 号:v1.0 07.07.* 08.08.*问题描述: 工资增加与排序 09.09. 输入描述: 工资和增加的工资数(从文件中输入到文件中去) 10.10.*输出描述: 排序后的工资 11.*/ #include <iostream> #include <fstream> using namespace std; class Salary { public: void set_salarys(); void add_salarys(double x); void sort_salarys(); void save_salarys(); void show_salarys(); private: double salary[500]; int number; }; void Salary::set_salarys() { int i; ifstream fin("D://a.txt",ios::in); if(!fin) { cout<<"open error"<<endl; } else { for(i=0;i<500;i++) { fin>>salary[i]; if(salary[i]==-1) { break; } } } fin.close(); } void Salary::add_salarys(double x) { int i,a; for(i=0;i<50;i++) { if(salary[i]==-1) { a=i; } } for(i=0;i<a;i++) { if(salary[i]==-1) { break; } salary[i]=salary[i]+x; } } void Salary::sort_salarys() { int i,j,a; double t; for(i=0;i<500;i++) { if(salary[i]==-1) { a=i; } } for(i=0;i<a-1;i++) { for(j=0;j<a-i-1;j++) { if(salary[j]>salary[j+1]) { t=salary[j]; salary[j]=salary[j+1]; salary[j+1]=t; } } } } void Salary::save_salarys() { int i,a; ofstream out( "D:\\b.txt",ios::out); if(!out) { cout<<"out error"<<endl; } for(i=0;i<500;i++) { if(salary[i]==-1) { a=i; } } for(i=0;i<a;i++) { out<<salary[i]<<endl; } out.close(); } void Salary::show_salarys() { int i,a; for(i=0;i<500;i++) { if(salary[i]==-1) { a=i; } } for(i=0;i<a;i++) { cout<<salary[i]<<" "; } } int main() { Salary s; double x; cout<<"请输入工资:(以-1结束输入)"<<endl; s.set_salarys(); cout<<"请输入要增加的工资数:"<<endl; cin>>x; s.add_salarys(x); s.sort_salarys(); cout<<"排序后的工资已保存到D盘b.txt"<<endl; cout<<"排序后的工资为:"<<endl; s.show_salarys(); return 0; }
标签:
原文地址:http://blog.csdn.net/summer_permenent/article/details/51366696