第十六周实验报告(一)
来源:互联网 发布:淘宝上有卖A片吗 编辑:程序博客网 时间:2024/05/18 05:10
/*【任务1】涨工资从文件salary.txt 中读入500 名工人的工资,全部增加100 元后进行排序,将排序后的结果在屏幕上输出,并保存到文件ordered_salary.txt 中*//*/* (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名称: salary.cpp * 作 者: 苗向前 * 完成日期: 2012 年 6 月 10 日* 版 本 号: V 3.0 * 程序头部的注释结束*/*/#include <fstream>#include<iostream>using namespace std;void show_salary(double salary[], int num);//输出工资;void cin_salary(double salary[], int num);//从文件得到工资;void cout_salary(double salary[], int num);//储存工资;void bubble_sort(double arr[], int num);//排序;void add_salary(double salary[], int num, double money);//加工资;int main( ){double sal[500];int num=500;cin_salary(sal, num);//从文件读入工资;cout << "加工资排序前员工工资:" << endl;show_salary(sal, num);//输出工人工资;add_salary(sal, 500, 100);//加工资;bubble_sort(sal, num);//排序;cout << "加工资排序后员工工资:" << endl;show_salary(sal, num);//输出工资;cout_salary(sal, num);//保存到文件;system("pause");return 0;}//定义void show_salary(salary[])函数;void show_salary(double salary[], int num){int i;for(i=0; i<num; i++){cout << salary[i] << "\t";if((i+1) % 21 == 0) cout << endl;}cout << endl;}//定义从文件输入函数;void cin_salary(double salary[], int num){int i;ifstream infile("salary.txt", ios::in);if(!infile){cerr << "salary.txt open error!" << endl;exit(1);}for(i=0; i<num; i++){infile >> salary[i];//读入工资;}infile.close();}//定义输出函数;void cout_salary(double salary[], int num){int i;ofstream outfile("ordered_salary.txt", ios::out);if(!outfile) {cerr << "ordered_salary.txt open error!" << endl;exit(1);}for(i=0; i<500; i++){outfile << salary[i] << "\n";//输出工资; }outfile.close(); }//定义排序函数;void bubble_sort(double arr[], int num){int i, j;double st;for(i=0; i<num-1; i++)for(j=0; j<num-i-1; j++)if(arr[j] > arr[j+1]){st = arr[j];arr[j] = arr[j+1];arr[j+1] = st;}}//定义加工资函数;void add_salary(double salary[], int num, double money){int i;for(i=0; i<num; i++){salary[i] = salary[i] + money;}}