您的位置:首页 > 编程语言 > C语言/C++

C++程序设计实验报告(二十)

2012-02-01 17:21 295 查看
第15周报告3

实验目的:学会ASCII文件的操作

实验内容:从文件中读入数据,排序并输出到另外一个文件中

* 程序头部注释开始

* 程序的版权和版本声明部分

* Copyright (c) 2011, 烟台大学计算机学院学生

* All rights reserved.

* 文件名称:gongzi.cpp

* 作 者:宋本一

* 完成日期:2011 年 12 月 02 日

* 版 本号:v15.3

* 对任务及求解方法的描述部分

* 输入描述:文件salary.txt

* 问题描述:从文件salary.txt中读入500名工人的工资,全部增加100元后进行排序(好事,涨工资了),将排序后的结果在屏幕上输出,并保存到文件ordered_salary.txt中

* 程序输出:ordered_salary.txt

* 程序头部的注释结束

//下面是程序

#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);
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)!=0)cout<<endl;
}
cout<<endl;

}

//定义从文件输入函数;

void cin_salary(double salary[],int num)

{
int i;
ifstream infile("salary.txt",ios::in);
if(!infile)
{
cerr<<"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("salary_1.txt",ios::out);
if(!outfile)
{
cerr<<"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;
}

}

运行结果:





上机感言:

编程路漫漫...自己还欠缺很多啊...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ ios 任务 编程 c