/*8. 通过使用write与read成员函数,对自定义的binary型磁盘文件进行如下的指定操作。
(1) 对i=1,2,3,...,15,计算d=i*i+0.5,并将15个结果写出到自定义的binary型磁盘文件f1.bin中(注意,f1文件中的数据从小到大有序);
(2) 对i=1,2,3,...,10,计算d=10*i+0.5,并将10个结果写出到自定义的binary型磁盘文件f2.bin中,而后再写出第11个数:357.9(注意,f2文件中的数据也从小到大有序);
(3) 读出文件f1.bin以及f2.bin中的数据,用来形成binary型磁盘文件f3.bin,但要求存放于f3.bin中的数据仍然是有序的(按照从小到大的顺序);
(4) 从头到尾读出f3.bin中的数据显示在屏幕上。
*/
#include<fstream.h>
void main()
{
double s;
//(1)对流fout进行写f1.bin
ofstream fout1("f1.bin",ios::binary);
cout<<"f1.bin:"<<endl;
for(int k=1;k<=15;k++)
{
s=k*k+0.5;
fout1.write((char*)&s,sizeof(s));
cout<<s<<" ";
}
cout<<endl;
fout1.close();
//(2)对流fout进行写f2.bin
ofstream fout2("f2.bin",ios::binary);
cout<<"f2.bin:"<<endl;
for( k=1;k<=10;k++)
{
s=10*k+0.5;
fout2.write((char*)&s,sizeof(s));
cout<<s<<" ";
}
s=357.9;
fout2.write((char*)&s,sizeof(s));
cout<<endl;
fout2.close();
//(3)f1.bin+f2.bin=f3.bin
ifstream fin1("f1.bin",ios::binary|ios::nocreate);
ifstream fin2("f2.bin",ios::binary|ios::nocreate);
ofstream fout("f3.bin",ios::binary|ios::trunc);
//f1.bin--数组a[]中
double a[26];
int i=0;
fin1.read((char*)&s,sizeof(s));
while(!fin1.eof())
{
a[i]=s;
i++;
fin1.read((char*)&s,sizeof(s));
}
fin1.close();
//f2.bin--数组a[]中
i=15;
fin2.read((char*)&s,sizeof(s));
while(!fin2.eof())
{
a[i++]=s;
fin2.read((char*)&s,sizeof(s));
}
fin2.close();
//对数组进行排序,选择排序法
for(i=0;i<25;i++)
{
int p=i;
for(int j=i+1;j<26;j++)
if(a[j]<a[p]) p=j;
if(i!=p)
{
double t;
t=a[i];a[i]=a[p];a[p]=t;
}
}
//将排序后的数组a[]写入磁盘文件f3.bin中
for( i=1;i<=26;i++)
{
fout.write((char*)&a[i-1],sizeof(double));
}
fout.close();
//(4)对磁盘文件f3.bin进行读
ifstream fin("f3.bin",ios::binary|ios::nocreate);
fin.read((char*)&s,sizeof(s));
cout<<"************************************\n";
int n=0;
while(!fin.eof())
{ //从头读到文件结束(当前符号非文件结束符时继续)
//对流fin进行读
cout<<s<<"\t";
fin.read((char*)&s,sizeof(s));
n++;
if(n%5==0) cout<<endl;
}
cout<<endl;
fin.close();
}
没有合适的资源?快使用搜索试试~ 我知道了~
高级语言C++程序设计第二版答案 第10章
共31个文件
cpp:12个
pdb:5个
exe:4个
4星 · 超过85%的资源 需积分: 10 39 下载量 48 浏览量
2008-12-06
21:45:34
上传
评论 1
收藏 522KB RAR 举报
温馨提示
高级语言C++程序设计第二版答案 第10章课后习题答案,全部为cpp文件,内容详细,程序经过调试,含注释。
资源推荐
资源详情
资源评论
收起资源包目录
10章习题参考答案.rar (31个子文件)
第10章习题参考答案
10_11getline_统计待试.cpp 1KB
10_5插入与提取符实现(f1+f2_f3).cpp 2KB
10_13文本文件与结构数据
10_7write_read.dsp 3KB
10_3格式输出到磁盘文件.cpp 2KB
10_7write_read.cpp 1006B
10_7write_read.opt 48KB
10_8write_read_f1+f2_f3.cpp 2KB
10_7write_read.ncb 33KB
10_9getline_strcmp.cpp 1KB
10_7write_read.dsw 536B
10_6用命令行参数来输入读写文件名
Debug
10_7write_read.exe 236KB
10_2格式输出.obj 11KB
10_7write_read.obj 10KB
vc60.pdb 60KB
10_3格式输出到磁盘文件.exe 224KB
10_4用插入与提取符实现磁盘文件操作.exe 240KB
10_3格式输出到磁盘文件.obj 13KB
10_3格式输出到磁盘文件.pdb 529KB
10_4用插入与提取符实现磁盘文件操作.pdb 457KB
10_7write_read.pdb 449KB
10_2格式输出.exe 216KB
10_2格式输出.pdb 505KB
10_4用插入与提取符实现磁盘文件操作.obj 10KB
10_12随机读取.cpp 906B
10_14随机文件与结构数据
10_2格式输出.cpp 1KB
10_6..cpp 1KB
aa.cpp 1KB
10_7write_read.plg 788B
10_10getline_删除注解.cpp 1KB
10_4用插入与提取符实现磁盘文件操作.cpp 798B
fb.bin 360B
共 31 条
- 1
资源评论
- thomas20112012-05-08答案不全,只有第十章的内容
- jdjd11142014-05-24不错,做课后练习时可以看看
somnusma
- 粉丝: 10
- 资源: 31
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功