问题及代码
main.cpp
/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:辛彬 * 完成日期:2015 年 3 月 22 日 * 版 本 号:v1.0 * * 问题描述:设计一个工资类(Salary)。 * 输入描述:工资。 * 程序输出:工资信息。 */ #include<iostream> #include"salary.h" using namespace std; int main() { Salary s; s.set_salarys(); s.add_salarys(500); s.sort_salarys(); s.show_salarys(); s.save_salarys(); return 0; }
#ifndef SALARY_H_INCLUDED #define SALARY_H_INCLUDED class Salary { private: double Salarys[500]; int number; public: void set_salarys(); void add_salarys(int x); void sort_salarys(); void show_salarys(); void save_salarys(); }; #endif // SALARY_H_INCLUDED
#include<iostream> #include"salary.h" #include<fstream> #include<cstdlib> using namespace std; void Salary::set_salarys() { int n=0; ifstream infile("salary.txt",ios::in); //以输入的方式打开文件 if(!infile) //测试是否成功打开 { cerr<<"open error!"<<endl; exit(1); } while(infile>>Salarys[n]) n++; number=n; infile.close(); } void Salary::add_salarys(int x) { int i; for(i=0; i<number; i++) Salarys[i]+=x; } void Salary::sort_salarys() { int i=0,j; double t; for(i=0; i<number-1; i++) for(j=0; j<number-1-i;j++) if(Salarys[j]<Salarys[j+1]) { t=Salarys[j+1]; Salarys[j+1]=Salarys[j]; Salarys[j]=t; } for(i=0;i<number;i++) cout<<Salarys[i]<<endl; } void Salary::show_salarys() { int i; for(i=0;i<number;i++) cout<<Salarys[i]<<endl; } void Salary::save_salarys() { int n=0; ofstream outfile("salary_aftersort.txt",ios::out); //以输入的方式打开文件 if(!outfile) //测试是否成功打开 { cerr<<"open error!"<<endl; exit(1); } for(n=0;n<number;n++) outfile<<Salarys[n]<<endl; outfile.close(); }
原文:http://blog.csdn.net/blue_skyrim/article/details/44538213