第三周——基于对象的程序设计——工资类(4)多文件组织
来源:互联网 发布:万国数据 海外上市 编辑:程序博客网 时间:2024/04/29 06:41
问题及代码:
main主函数代码:
/**Copyright (c)2014,烟台大学计算机与控制工程学院*All rights reserved.*文件名称: 图书馆的书 .cpp*作 者:莉莉*完成日期:2015年3月19日*版 本 号:v1.0*问题描述:多文件组织,手工输入工资?!太让人不能忍受了。现给出包含了不足500个职工工资的文件salary.txt(下载),从文件中读数据,完成上面的工作。增加一个成员函数,将排序后结果保存到一个文件中。*/#include <iostream>#include <fstream>#include <cstdlib>#include "salary.h"using namespace std;int main(){ int a; Salarys s; s.set_salarys(); cout<<"请输入要涨的金额:"<<endl; cin>>a; s.add_salarys(a); cout<<"增加后的工资为:"<<endl; s.show_salarys(); cout<<"按工资由高到低排序后:"<<endl; s.sort_salarys(); s.write_salarys(); s.show_salarys(); return 0;}
salary工资类的定义代码:
#ifndef SALARY_H_INCLUDED#define SALARY_H_INCLUDED#include <fstream>#include <cstdlib>using namespace std;const int N=500;class Salarys{public: void set_salarys(); void write_salarys(); void add_salarys(int x); void sort_salarys(); void show_salarys();private: double salarys[N]; int number;};#endif // SALARY_H_INCLUDED
成员函数的定义:
#include <iostream>#include <fstream>#include <cstdlib>#include "salary.h"using namespace std;void Salarys::set_salarys(){ int i=0; ifstream infile("salary.txt",ios::in); if(!infile) { cerr<<"open error!"<<endl; } while(infile>>salarys[i]) { i++; } number=i; infile.close();}void Salarys::write_salarys(){ ofstream outfile("salaryout.txt",ios::out); if(!outfile) { cerr<<"open error!"<<endl; } for(int i=0; i<number; i++) { outfile<<salarys[i]<<'\t'; } cout<<endl;}void Salarys::add_salarys(int x){ int i=0; for(i=0; i<number; i++) { salarys[i]+=x; }}void Salarys::sort_salarys(){ int i=0,j=0; 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 Salarys::show_salarys(){ int i=0; for(i=0; i<number; i++) { cout<<salarys[i]<<'\t'; } cout<<endl;}
运行结果:
0 0
- 第三周——基于对象的程序设计——工资类(4)多文件组织
- 第三周——基于对象的程序设计——三角形类(3)多文件组织
- 第三周——基于对象的程序设计——成绩类多文件组织
- 第三周——基于对象的程序设计——工资类(1)手动输入
- 第三周——基于对象的程序设计——工资类(2)动态数组
- 第三周——基于对象的程序设计——工资类(3)文件中读取数据
- 第三周——基于对象的程序设计——三角形类(1)
- 第三周——基于对象的程序设计——三角形类(2)
- C++找对象的季节——三角形类第三弹(对象做数据成员+多文件组织)
- 第三周项目三——程序的多文件组织
- 第三周项目三——程序的多文件组织
- C++找对象的季节——数组做数据成员(工资为例,多文件组织+动态数组+文件读取)
- 第三周上机实践项目5-工资类(5、多文件组织)
- 第三周项目五——多文件组织
- C++找对象的季节——三角形类(内置函数+多文件组织)
- 第三周上机实践项目3——程序的多文件组织
- 第三周 课后实践:项目三——程序的多文件组织
- 15第三周项目三——程序的多文件组织
- spark:在spark-shell上用260M的数据包做简单的sparkSQL练习--13
- 真正的实时操作系统
- Android HTTPS中间人劫持漏洞浅析
- 循环群生成元
- POJ2142 The Balance【二元一次方程】
- 第三周——基于对象的程序设计——工资类(4)多文件组织
- ActiveX项目搭建与测试
- 解决 cocos2d-js 中 cc.EditBox 或 cc.Scale9Sprite is not a constructor 的问题
- Use After Free
- linux kernel学习笔记- 内存管理
- Android之AIDL使用
- malloc原理和内存碎片
- LeetCode 008 String to Integer (atoi)
- Druid 数据库连接池简单配置