第八周实践项目1.2-数组作数据成员

来源:互联网 发布:网络赌钱 编辑:程序博客网 时间:2024/06/05 19:13
/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:77.cpp *作    者:董凯琦 *完成日期:2016年4月19日 *版 本 号:v1.0 * *问题描述:实现Salary类中的成员函数,在main函数定义Salary类的对象,输入工资,再给每个人涨500元工资,排序后工资数据,然后输出结果。 *输入描述: *程序输出: */#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[N];    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 tmp;    for(i=0;i<number-1;i++)        for(j=0;j<number-i-1;j++)        if(salarys[j]<salarys[j+1])    {        tmp=salarys[j];        salarys[j]=salarys[j+1];        salarys[j+1]=tmp;    }}void Salary::show_salarys(){    int i;    for(i=0;i<number;i++)        cout<<salarys[i]<<" ";}int main(){    Salary s;    s.read_data();    s.add_salarys(500);    s.sort_salarys();    s.write_data();    s.show_salarys();    return 0;}

0 0
原创粉丝点击