第八週 專案1(2)
阿新 • • 發佈:2019-02-18
/* *Copyright (c)2016,煙臺大學計算機與控制工程學院 *All rights reserved. *檔名稱:main.cpp *作 者:肖雪 *完成日期:2016年4月28日 *版 本 號:v1.0 *問題描述:增加一個成員函式,用於從檔案中讀出資料,再增加一個成員函式,將排序後結果儲存到一個檔案中。 */ #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("D://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("D://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 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 s; s.read_data( ); s.add_salarys(500); s.sort_salarys(); s.write_data( ); s.show_salarys( ); return 0; }