第三周上机实践项目5-工资类(5、多文件组织)
2015-03-27 19:51
330 查看
/* *Copyright(c)2014,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者:满星辰 *完成日期:2015年 3月 27日 *版本号:v1.0 *问题描述:设计一个工资类(Salary),其中类的数据成员如下: *输入描述: *程序输出: */
class Salary { private: double salarys[50]; //多人的工资 int number; //实际人数 };
(5)用多文件的方式组织最后的程序。
main.cpp
#include<iostream> #include "salary.h" using namespace std; int main() { Salary s1; s1.set_salarys(); s1.add_salarys(500); s1.sort_salarys(); s1.show_salarys(); s1.save_salarys(); return 0; }
salary.cpp
#include <fstream> //操作文件必写 #include<iostream> #include<cstdlib> //调用exit(1)需要包含cstdlib #include "salary.h" using namespace std; void Salary::set_salarys( ) { int i=0; double a; //以输入的方式(ios::in)打开文件,注意f1.dat必须在文件夹中存在 ifstream infile("salary - C++语言基础.txt",ios::in); //测试是否成功打开,打开失败时(如要读的数据文件不存在)退出 if(!infile) { cerr<<"open error!"<<endl; exit(1); } while(infile>>a) //当到达文件尾,则循环处理结束。类似cin>>a,只不过数据来源于打开的文件 { salarys[i]=a; i++; } infile.close(); //读入完毕要关闭文件 number=i; } void Salary::add_salarys(int x)//给每个人涨x元工资 { for(int i=0; i<number; i++) { salarys[i]+=x; } } void Salary::sort_salarys()//对工资排序 { double t; for(int i=0; i<number; ++i) for(int j=0; j<number-1; ++j) if(salarys[j]>salarys[j+1]) { t=salarys[j]; salarys[j]=salarys[j+1]; salarys[j+1]=t; } } void Salary::show_salarys( )//显示工资信息 { for(int i=0; i<number; ++i) { cout<<salarys[i]<<endl; } } void Salary::save_salarys() { ofstream outfile("ordered_salary.txt",ios::out); if(!outfile) //测试文件打开操作是否成功 { cerr<<"open error!"<<endl; exit(1); //打开不成功,则提示后退出。 } for(int i=0; i<number; ++i) { outfile<<salarys[i]<<endl; } outfile.close(); //读入完毕要关闭文件 cout<<"处理完毕,请打开文件查看结果!"<<endl; }
salary.h
#ifndef SALARY_H_INCLUDED #define SALARY_H_INCLUDED class Salary { private: double salarys[500]; //多人的工资 int number; //实际人数 public: void set_salarys( );//输入职工工资(输入-1标志着工资输入结束),工资保存到salary数组中,实际人数保存到number中; void add_salarys(int x);//给每个人涨x元工资 void sort_salarys();//对工资排序 void show_salarys( );//显示工资信息 void save_salarys();//在另一个文件中保存数据 }; #endif // SALARY_H_INCLUDED心得:
改写的一遍过,开心~
图片:
相关文章推荐
- 第三周上机实践项目5-工资类(3、4从文件中读入数据并把结果保存在另一个文件中)
- 第三周上机实践项目3——程序的多文件组织
- 第三周上机实践项目3-多文件组织(实现项目二)
- 第五周上机实践项目3——用多文件组织多个类的程序
- 第七周上机实践项目3:文件组织多个程序类
- 第七周上机实践项目——项目3-用多文件组织多个类的程序
- 第五周上机实践项目3-用多文件组织多个类的程序
- 数据结构上机实践第二周项目2- 程序的多文件组织
- 第三周上机实践项目5-工资类(2.动态扩容无浪费)
- 第六周上机实践项目——用多文件组织多个类的程序
- 第11周上机实践项目3——程序的多文件组织
- 第十五周上机实践项目——工资数据的输入(从文件中读取数据)
- 第四周上机实践项目——程序的多文件组织
- 第三周 课后实践:项目三——程序的多文件组织
- 第三周项目5.3 5.4 5.5 文件输入工资 通过多文件组织
- 第三周上机实践项目5-工资类(1)
- 第三周上机实践项目 项目4--换分币
- 第三周上机实践—项目2 —建设“顺序表”算法库
- 第三周上机实践项目1——三角形类1
- 第三周项目3 多文件组织