文件的输入输出
自定义三个text 型磁盘文件f1.txt、f2.txt 和f3.txt,并对它们进行指定的读写操作:先往f1.txt 以及f2.txt 中写出数据,之后再将它们读入而形成f3.txt 文件。
实验要求:
通过使用运算符“>>”和“<<”,对自定义的text 型磁盘文件进行如下的指定操作。
(1) 对i=1,2,3,...,15,计算d=i*i+0.5,并将15 个结果写出到自定义的text型磁盘文件f1.txt 中(注意,f1 文件中的数据从小到大有序);
(2) 对i=1,2,3,...,10,计算d=10*i+0.5,并将10 个结果写出到自定义的text型磁盘文件f2.txt 中,而后再写出第11 个数:357.9(注意,f2 文件中的数据也从小到大有序);
(3) 读出文件f1.txt 以及f2.txt 中的数据,用来形成text 型磁盘文件f3.txt,但要求存放于f3.txt 中的数据仍然是有序的(按照从小到大的顺序);
(4) 从头到尾读出f3.txt 中的数据显示在屏幕上。
2、实验仪器、设备或软件
计算机一台,vc6.0
二、实验过程(实验步骤、记录、数据、)
3、运行结果:
#include
using namespace std;
void fun1()
{
ofstream outfile1("f1.txt");
ofstream outfile2("f2.txt");
for(int i=0;i<15;i++)
outfile1<<i*i+0.5<<" ";
for(i=0;i<10;i++)
outfile2<<10*i+0.5<<" ";
outfile2<<"357.9"<<" ";
outfile1.close();
outfile2.close();
}
void fun2()
{
double k=0,arr[25],temp;
ifstream infile1("f1.txt");
ifstream infile2("f2.txt");
ofstream outfile3("f3.txt",ios::out);
if(!outfile3)
{
cout<<"open error!!!"<<endl;
exit(1);
}
for(int i=0;i<15;i++)
infile1>>arr[i];
for(int j=0;j<10;j++)
infile2>>arr[i+j];
for(i=0;i<25;i++)
for(int j=0;j<25-i;j++)
if(arr[j]>arr[j+1])
{
temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
for(i=0;i<26;i++)
outfile3<<arr[i]<<" ";
infile1.close();
infile2.close();
outfile3.close();
for(i=0;i<25;i++)
{
if(i%5==0) cout<<endl;
cout<<arr[i]<<" ";
}
}
int main()
{
fun1();
fun2();
cout<<endl;
return 0;
}