第2周-项目5-数组作数据成员-工资类(多文件组织)
来源:互联网 发布:随意画线软件 编辑:程序博客网 时间:2024/04/29 17:47
问题及代码:
运行结果:
/* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:score.cpp *作 者:单昕昕 *完成日期:2015年3月20日 *版 本 号:v1.0 * *问题描述:用多文件的方式组织最后的程序*程序输入:无。*程序输出:降序排序后工资数据。 */ #include <fstream> //操作文件必写#include<iostream>#include<cstdlib>using namespace std;class Salary{private: double salarys[500]; int number;public: void read_data( ); void write_data(); void add_salarys(int x); void sort_salarys(); void show_salarys( );};void Salary::read_data( ){ int i; ifstream infile("salary.txt",ios::in); //以输入的方式(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); //以输入的方式(ios::in)打开文件 if(!outfile) //测试是否成功打开,打开失败时(如要读的数据文件不存在)退出 { cerr<<"open error!"<<endl; exit(1); } for(i=0; i<number; ++i) { outfile<<salarys[i]<<endl; } outfile.close(); cout<<"处理完毕,请打开文件查看结果!"<<endl;}void Salary::add_salarys(int x){ for (int i=0; i<number; i++) salarys[i]+=x;}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';}int main( ){ Salary salary; int x; salary.read_data( ); cout<<"请输入涨的工资数:"; cin>>x; salary.add_salarys(x); salary.sort_salarys(); salary.write_data( ); salary.show_salarys( ); return 0;}
运行结果:
程序的多文件组织:
——————————————————主文件: main.cpp,用于定义main()函数
#include<iostream>#include "salarys.h"using namespace std;int main( ){ Salary salary; int x; salary.read_data( ); cout<<"请输入涨的工资数:"; cin>>x; salary.add_salarys(x); salary.sort_salarys(); salary.write_data( ); salary.show_salarys( ); return 0;}
——————————————————salarys.h,头文件,声明类,定义内置成员函数
#ifndef SALARYS_H_INCLUDED#define SALARYS_H_INCLUDEDclass Salary{private: double salarys[500]; int number;public: void read_data( ); void write_data(); void add_salarys(int x); void sort_salarys(); void show_salarys( );};#endif // SALARYS_H_INCLUDED
——————————————————salary.cpp,用于定义类Salary中其他成员函数
#include <fstream> //操作文件必写#include<iostream>#include<cstdlib>#include "salarys.h"using namespace std;void Salary::read_data( ){ int i; ifstream infile("salary.txt",ios::in); //以输入的方式(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_increase.txt",ios::out); //以输入的方式(ios::in)打开文件 if(!outfile) //测试是否成功打开,打开失败时(如要读的数据文件不存在)退出 { cerr<<"open error!"<<endl; exit(1); } for(i=0; i<number; ++i) { outfile<<salarys[i]<<endl; } outfile.close(); cout<<"处理完毕,请打开文件查看结果!"<<endl;}void Salary::add_salarys(int x){ for (int i=0; i<number; i++) salarys[i]+=x;}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';}
——————————————————源文件夹
多文件组织。
学习心得:
又练了一遍多文件组织,反正我觉得这就是这个周最重要的知识点了~~
新技能get√~!!
0 0
- 第2周-项目5-数组作数据成员-工资类(多文件组织)
- 第2周-项目5-数组作数据成员-工资类(动态数组)
- 第2周-项目5-数组作数据成员-工资类(手动输入)
- 第2周-项目5-数组作数据成员-工资类(文件读取)
- 第2周项目5-数组做数据成员(5多文件组织处理)
- 第四周项目四-数组作数据成员(工资问题)
- 第八周项目一(1) 数组作数据成员(工资类 1 常规数组做法)
- 项目——多文件组织的数组作数据成员
- 第8周项目1 数组做数据成员 工资类(2)
- 数组作数据成员-工资类(动态数组)
- C++第4周项目5 - 数组作数据成员(扩展2、3引入文件)
- 第3周项目5-数组作数据成员(2)
- 大一第二学期第3周【项目5 - 数组作数据成员】(2)
- 数组作数据成员-工资类。
- C++第4周项目5 - 数组作数据成员
- 第3周项目5数组作数据成员
- 第3周项目5数组作数据成员
- 第8周项目1-数组作数据成员(2)
- Implement strStr()
- 新手对于iPhone开发环境等入门问题解答汇总
- getHibernateTemplate()
- Angularjs 控制器
- SGU - 169 - Numbers (找规律)
- 第2周-项目5-数组作数据成员-工资类(多文件组织)
- 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理解决方案 服务器配置错误
- 编译脚本
- nyoj 32 组合数(DFS)
- SNMP协议详解
- CSS 实现表格中文字不换行,超长部分显示省略号
- poj1276
- javascript的for...in中的闭包陷阱
- SPOJ Query on a tree