1)从键盘输入20个整数,分别存放在两个磁盘文件中,每个文件中放10个整数

2)从f1.dat读入10个数,然后存放在f2.dat文件原有数据后面

3)从f2.dat中读入20个整数,对它们进行从小到大的顺序存放在f2.dat中(不保留原来的数据)

#include

#include

#include

using namespace std;

//fun1函数从键盘输入20个整数,分别存放在两个磁盘文件中

void fun1()

{

int a[10];

ofstream outfile1("f1.dat"),outfile2("f2.dat"); //分别建立两个文件流对象

if(!outfile1)

{

cerr << "open f1.dat error!" << endl;

exit(1);

}

if(!outfile2)

{

cerr << "open f2.dat error!" << endl;

exit(1);

}

cout << "enter 10 integer numbers:" << endl;

for (int i=0;i<10;i++) //输入10个数存放在f1.dat文件中

{

cin >> a[i];

outfile1 << a[i] << " ";

}

cout << "enter 10 integer numbers:" << endl;

for (int i=0;i<10;i++) //输入10个数存放在f2.dat文件中

{

cin >> a[i];

outfile2 << a[i] << " ";

}

outfile1.close();

outfile2.close();

}

//从f1.dat读入10个数,然后存放到f2.dat文件原有数据的后面

void fun2()

{

ifstream infile("f1.dat"); //f1.dat作为输入文件

if(!infile)

{

cerr << "open f1.dat error!" << endl;

exit(1);

}

ofstream outfile("f2.dat",ios::app); //f2.dat作为输出文件,文件指针指向文件尾,向它写入的数据放在原来数据的后面

if (!outfile)

{

cerr << "open f2.dat error!" << endl;

exit(1);

}

int a;

for (int i=0;i<10;i++)

{

infile >> a; //从磁盘文件f2.dat读入一个整数

outfile << a << " "; //将该读数存放到f2.dat中

}

infile.close();

outfile.close();

}

//从f2.dat中读入20个整数,将它们按从小到大的顺序存放到f2.dat中

void fun3()

{

ifstream infile("f2.dat");

if(!infile)

{

cerr << "open f2.dat error!" << endl;

exit(1);

}

int a[20];

int i,j,t;

for (i=0;i<20;i++)

infile >> a[i];

for (i=0;i<19;i++) //冒泡法

for (j=0;j<19-i;j++)

{

if(a[j]>a[j+1])

{

t=a[j];a[j]=a[j+1];a[j+1]=t;

}

}

infile.close();

ofstream outfile("f2.dat",ios::out);

//f2.dat作为输出文件,文件中原有内容删除

if(!outfile)

{

cerr << "open f2.dat error!" << endl;

exit(1);

}

cout << "data in f2.dat:" << endl;

for (i=0;i<20;i++)

{

outfile << a[i] << " ";

cout << a[i] << " ";

}

cout << endl;

outfile.close();

}

int main()

{

fun1();

fun2();

fun3();

cout << "Hello world!" << endl;

return 0;

}

在Code::Blocks运行,参考谭浩强C++程序设计。

c语言建立两个磁盘文件,建立两个磁盘文件f1.dat和f2.dat,编程序实现以下工作...相关推荐

  1. 建立两个磁盘文件f1.dat和f2.dat,编程序实现以下工作

    1)从键盘输入20个整数,分别存放在两个磁盘文件中,每个文件中放10个整数 2)从f1.dat读入10个数,然后存放在f2.dat文件原有数据后面 3)从f2.dat中读入20个整数,对它们进行从小到 ...

  2. SQLServer:GUI方式、SQL语句两种方式建立视图和GUI方式设置主键、约束等

    SQLServer:GUI方式.SQL语句两种方式建立视图和GUI方式设置主键.约束等 目录 题目要求 解题流程 (1).建立视图 (2)GUI方式设置主键.约束等 ​ 题目要求 基于表DEPT01和 ...

  3. 建立局域网计算机应安装,两台电脑如何建立局域网

    原标题:两台电脑如何建立局域网 两台计算机如何建立局域网?电脑里没有网络,附近也没有U盘.在两台计算机之前传送数据是困难的.如果你知道如何在两台计算机之间建立局域网,你就可以避免这种问题.我已经为你整 ...

  4. 两种方式建立Vsftpd虚拟用户

    http://blog.51cto.com/yuanbin/129071 两种方式建立Vsftpd虚拟用户 我们登录FTP有三种方式,匿名登录.本地用户登录和虚拟用户登录. 匿名登录:在登录FTP时使 ...

  5. Google Earth Engine—ETOPO1是一个1弧分的地球表面全球浮雕模型,整合了陆地地形和海洋测深。它是由许多全球和区域数据集建立的。它包含两个高程带:冰面和基岩。

    ETOPO1 is a 1 arc-minute global relief model of Earth's surface that integrates land topography and ...

  6. 怎样调试计算机组成局域网,如何让两台电脑建立局域网?只要一根网线就可以做到,看后明白...

    如果有两台电脑,如何给两台电脑建立局域网呢?看了下面的方法就明白了. 1.买一根对联网线.接法按照:一头568a,一头568b的网线接法.长度根据实际需要进行. 2.将同一条网线分别接在电脑的网卡上, ...

  7. html本地站点建立代码,实验目的通过编写一小网页熟练HTML语言书写方法;学会建立本地站点.doc...

    实验目的通过编写一小网页熟练HTML语言书写方法:学会建立本地站点.doc 实验一 HTML标记语言 一.实验目的:1.标记符 标记符又称标签,HTML是影响网页内容显示格式的标记符集合,浏览器根据标 ...

  8. c语言两个线性表la lb,有两个集合用两个线性表LA和LB表示即线性表中的数据元素即为集合中的成员现要求一个新的集合...

    <有两个集合用两个线性表LA和LB表示即线性表中的数据元素即为集合中的成员现要求一个新的集合>由会员分享,可在线阅读,更多相关<有两个集合用两个线性表LA和LB表示即线性表中的数据元 ...

  9. c语言中的普通字符包括什么,【判断题】C语言中的字符常量通常有两种形式:普通字符和转义字符。...

    [判断题]C语言中的字符常量通常有两种形式:普通字符和转义字符. 更多相关问题 ---Can you speak French?---Yes, but only____.A.a littleB.lit ...

最新文章

  1. 字符流Reader对象创建子类及方法
  2. Windows 内核数据结构学习总结
  3. 当前订单不支持只花呗支付是什么意思_1、(跑腿介绍篇)支付宝花呗分期线下推广...
  4. linux中系统调用和库函数的区别
  5. C. Goodbye Souvenir(CDQ 或 树套树)
  6. 微信团队分享:微信移动端的全文检索多音字问题解决方案
  7. 多线程循环输出abcc++_C ++循环| 查找输出程序| 套装5
  8. 【TensorFlow】TensorFlow从浅入深系列之二 -- 教你通过思维导图深度理解深层神经网络
  9. 《Python编程从入门到实践》记录之第2章 变量和简单数据类型总结(思维导图)
  10. 【flink】flink 消费组死掉 Lag不变 kafka不提交 重启恢复 非常诡异
  11. 批量生产insert 或者update语句
  12. 《计算传播学导论》读书笔记:第六章 网络传播模型与机器学习框架
  13. JNCIS翻译文档之------接口
  14. 新编计算机组装与维护标准教程,计算机组装与维护标准教程(2018-2020版)
  15. js中判断数据类型的方法
  16. SE-ResNet的实现
  17. THREEJS在场景图上动态标识一些文字方法二(文字精灵sprite)
  18. 开源的前端GIS空间分析库介绍 (一)jsts与turf
  19. 一劳永逸解决vs编译器无法使用scanf函数
  20. STM32 RTC 对晶振的要求实在不地道

热门文章

  1. 忽悠CTO搞中台,把自己饭碗都搞砸了
  2. 微信公众帐号开发教程第14篇-自定义菜单的创建及菜单事件响应
  3. Oracle中较长number型数值的科学计数显示问题
  4. MySQL学习笔记_6_SQL语言的设计与编写(下)
  5. 互斥锁、死锁、递归锁、信号量、Event
  6. 周鸿祎:物联网时代的三大威胁
  7. 烂泥:高负载均衡学习haproxy之安装与配置
  8. http返回头中content-length与Transfer-Encoding: chunked的问题释疑
  9. 写给你的数据结构教程(第一天)
  10. 2012年下半年我国信息化和信息安全走势分析与预测