第16周任务1(涨工资)

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
* 文件名称:                              
* 作    者:   臧鹏               
* 完成日期:   2012   年 6月  5 日
* 版 本 号:      001    

* 对任务及求解方法的描述部分
* 输入描述: 
* 问题描述:从文件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;
}


经验积累:

初步的会取文件改文件并重新保存文件了。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值