/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 朱亚楠
* 完成日期: 2012 年 6月 5 日
* 版 本 号: v.1
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:从文件salaly.txt中读入500名工人的工资,全部增加100元后进行排序,将排序后的结果在屏幕上输出,并保存到ordered_salary.txt中
* 程序输出:
* 程序头部的注释结束
*/
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
int main()
{
ifstream infile("salary.txt",ios::in);//定义输入文件流对象,以输入方式打开磁盘文件salary.txt
if(!infile)
{
cerr << "open error!";
exit(1);
}
double a[500], t;
int i, j;
for(i = 0; i < 500; ++ i) //对每一个员工加100元
{
infile >> a[i];
a[i] = a[i] + 100;
}
infile.close();
for(j = 0; j <499 ;++ j) //冒泡法排序
{
for(i = 0; i < 499 - j; ++ i)
{
if(a[i] > a[i + 1])
{
t = a[i];
a[i] = a[i + 1];
a[i + 1] = t;
}
}
}
ofstream outfile("ordered_salary.txt",ios::out); //定义文件流对象,打开磁盘文件“ordered_salary.txt”
if( ! outfile)
{
cerr<<"open error!"<<endl;
exit(1);
}
cout << "涨工资后的工资为:" << endl;
for(i = 0; i < 500; ++ i) //向磁盘文件“ordered_salary.txt”输出数据
{
outfile << a[i] << " ";
}
for(i = 0; i < 500; ++ i) //为了输出的更美观
{
cout << setw(10) << a[i] << setw(10);
if(((i + 1) % 5) == 0)
{
cout << endl;
}
}
outfile.close(); //关闭
system("pause");
return 0;
}
第16周实验报告1
最新推荐文章于 2024-11-18 17:17:10 发布