/**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作    者:王蕊*完成日期:2016年4月19日*版 本 号:v1.0**问题描述:实现Salary类中的成员函数,在main函数定义Salary类的对象,用多文件的方式组织最后的程序。*输入描述:无*程序输出:无
*/1.类声明#ifndef 456_H_INCLUDED
#define 456_H_INCLUDED
using namespace std;
const int N=500;
class Salary
{
public:void read_data( );  //读取文件void write_data();  //保存文件void add_salarys(int x);  <span style="font-family: Arial, Helvetica, sans-serif;">//涨工资x元</span>
void sort_salarys(); //对工资由大到小排序  void show_salarys( );  //显示工资信息
private:double salarys[N]; //工资, 用指针更好int number;        //人数
};
#endif // 456_H_INCLUDED2.salary.cpp#include <iostream>
#include"456.h"
using namespace std;
void Salary::read_data( )  //读取文件
{int s;ifstream infile("salary.txt",ios::in);  //以输入的方式打开文件if(!infile)  //测试是否成功打开文件{cerr<<"open error!"<<endl;exit(1);}s=0;while(infile>>salarys[s]){s++;}number=s;infile.close();
}
void Salary::write_data( )  保存文件
{int s;ofstream outfile("salary_ordered.txt",ios::out);  //以输入的方式打开文件if(!outfile)  //测试是否成功打开文件{cerr<<"open error!"<<endl;exit(1);}for(s=0;s<number;++s){outfile<<salarys[s]<<endl;}outfile.close();
}void Salary::add_salarys(int m)  //涨工资m元
{int s;for (s=0;s<number;s++)salarys[s]+=m;
}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";
}
3.main()函数#include <iostream>
#include"456.h"
using namespace std;
int main( )
{Salary s;s.read_data( );s.add_salarys(500);s.sort_salarys();s.write_data( );s.show_salarys( );return 0;
}
学习心得:用多文件组织程序。


第八周项目一-数组做数据成员(3)相关推荐

  1. 第八周项目一-数组作数据成员(2)

     /**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年4月19日*版 本 号: ...

  2. 第八周项目一-数组作数据成员(1)

     /**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年4月17日*版 本 号: ...

  3. 第三周项目5-数组作数据成员

    设计一个工资类(Salary),其中类的数据成员如下: class Salary { private:double salarys[50]; //多人的工资int number; //实际人数 }; ...

  4. 第五周项目2-对象作为数据成员

    回想Engineer类的数据成员,有眼镜.背包等.某Engineer的眼镜.背包,是Glass.Bag类的对象.类中的数据成员,其类型可以是简单类型,也可以是类.通过这种方式,将某些类组合到另外的类中 ...

  5. 第八周项目34-我的数组类

    /* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:text.cpp *作者:李德彪 *完成日期:2015年4月23日 *版本号: ...

  6. 第八周项目二-用对象数组操作长方柱类

    /* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年4月19日 *版 本 ...

  7. 第八周项目三-指向学生类的指针

    <pre name="code" class="cpp">/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All righ ...

  8. 第六周上机项目2-对象作为数据成员.

    /* *程序的版权和版本声明部分: *Copyright(c)2013,烟台大学计算机学院学生 . *All rights reserved. *作者:李家豪 *完成日期:2014年4月8日. *版本 ...

  9. 数据结构上机实践第八周项目6- 猴子选大王(数组版)

    猴子选大王(数组版) 在之前的项目中,实现了猴子选大王的项目要求,本次实践,将再次实现这个项目,但是运用数组的方法,做到一题多解,集思广益. 项目要求如下:一群猴子,编号是1,2,3 -m,这群猴子( ...

最新文章

  1. Xcode使用正则表达式替换
  2. java 国际化 properties_java Properties 读取文件,国际化
  3. 每日程序C语言24-回文数字的判断
  4. TestNG之注解的生命周期
  5. 简单使用Modelsim跑个仿真
  6. win10支持linux内核,Win10将允许您加载自定义Linux内核
  7. This Android SDK requires Android Developer Toolkit version 23.0.0 or above
  8. 第 14 章 享元模式
  9. 教程-TObjectList.Clear、TStringList.Clear方法对象有没有被释放
  10. 写程序需要做的几件事
  11. 代理(Proxy)和背靠背用户代理(B2BUA)
  12. linux 主流 集群 软件,Linux 高可用(HA)集群之Pacemaker详解
  13. 采用QT进行OpenGL开发(三)着色器编程
  14. 【高数】极限运算法则+两个重要极限
  15. ios适配暗黑模式-图片、颜色
  16. YC出品的创业第一课:How to start a startup
  17. 有哪些冷门却好用的东西可以网购?
  18. 文本文件操作 单词排序
  19. NAS私有云存储 - 搭建Nextcloud私有云盘并公网远程访问
  20. vuetifyjs简介及其使用

热门文章

  1. hashmap中用红黑树不用其他树_HashMap面试专题:常问六题深入解析
  2. xman的思维导图快捷键_Xmind:ZEN思维导图有哪些使用技巧,最实用的快捷键是什么?...
  3. 19.VS属性管理器窗口不见了怎么办?
  4. 9.QT事件机制源码时序分析(上)
  5. opencv中的push_back()函数
  6. python初学者之网络爬虫_Python初学者之网络爬虫(二)
  7. OpenStack(Kilo版本)基础架构学习笔记
  8. javascript中将整数添加千位符号
  9. 工作中搜索页面搜索记录功能的封装(存储到本地)
  10. FreePBX SIP Trunk