下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业中国矿业大学计算机学院实验报告课程名称 高级程序设计语言 实验名称_实验十 C+ I/O流实验报告要求:1.实验目的 2.实验内容 3.实验步骤 4.运行结果 5.流程图 6.实验体会 一、实验目的熟悉流类库中常用的类及其成员函数的用法;掌握磁盘文件的打开、关闭及使用的使用方法;掌握文本文件流与二进制文件流在操作上的区别。二、实验要求1.结合上课内容,写出程序,并调试程序,要给出测试数据和实验结果。2.整理上机步骤,总结经验和体会。3.完成实验报告和上交程序。三、实验内
2、容1. 数组中的数据经常可以用多种不同的格式显示。当用户向数组输入整数时,则分别用二进制、八进制、十进制和十六进制的格式输出表中的数。编写函数convertBinary来实现将一个数转换为其二进制表示的函数这一功能。#includeusing namespace std;void main()int a50,b50;int i=0,j,x;cinx;while(ai-1!=0)ai=x/2;bi=x%2;x=ai;i+;for(j=i-1;j=0;j-)coutbj;coutendl;2. 建立两个磁盘文件f1.dat和f2.dat要求:(1)从键盘输入20个整数,存放在磁盘文件f1.dat中
3、;(2)从f1.dat中读入10个数,存放到f2.dat文件中;(3)将f2.dat中的数据按由小到大的顺序存放,不保留原有文件内容#include #include using namespace std; void fun1()int a10; ofstream outfile1(f1.dat),outfile2(f2.dat); if(!outfile1) cerropen f1.dat error!endl; exit(1); if(!outfile2) cerropen f2.dat error!endl; exit(1); coutenter 10 integer numbers:
4、endl; for(int i=0;iai; outfile1ai ; coutenter 10 integer numbers:endl; for(i=0;iai; outfile2ai ; outfile1.close(); outfile2.close(); /从f1,dat读入10个数,然后存放到f2.dat文件原有数据的后面void fun2()ifstream infile(f1.dat); if(!infile) cerropen f1.dat error!endl; exit(1); ofstream outfile(f2.dat,ios:app); if(!outfile)
5、cerropen f2.dat error!endl; exit(1); int a; for(int i=0;ia; outfilea ; infile.close(); outfile.close(); void fun3()ifstream infile(f2.dat); if(!infile) cerropen f2.dat error!endl; exit(1); int a20; int i,j,t; for(i=0;iai; for(i=0;i19;i+) for(j=0;jaj+1) t=aj;aj=aj+1;aj+1=t; infile.close(); ofstream o
6、utfile(f2.dat,ios:out); if(!outfile) cerropen f2.dat error!endl; exit(1);coutdata in f2.dat:endl; for( i=0;i20;i+) outfileai ; coutai ; coutendl; outfile.close();int main()fun1(); fun2(); fun3(); return 0;3设计一个管理图书的简单程序,提供的基本功能包括:可连续将新书存入文件“book.dat”中,新书信息加入到文件的尾部;也可以根据输入的书名进行查找;把文件“book.dat”中同书名的所有
7、书显示出来。为简单起见,描述一本书的信息包括:书号,书名,出版社和作者。/图书馆书目检索的源程序#include #include #include class Bookprivate:long int num;/书号char bookname40;/书名char publicname40;/出版社char name20;/作者public:Book() num=0; bookname0 =0;publicname0 =0; name0 =0;char * Getbookname(void) return bookname ;long Getnum(void ) return num;void
8、 Setdata(long , char *,char *,char *);void Show(void );Book(long , char *,char *,char *);void Book:Setdata(long nu , char *bn,char *p,char *n)num = nu; strcpy(bookname,bn);strcpy(publicname,p); strcpy(name,n);void Book:Show(void )cout书号:numt书名:booknamet;cout出版社:publicnamet作者:namen;Book:Book(long nu,
9、 char * bp,char *p,char *n)Setdata(nu , bp, p, n); void main(void)Book b1,b2;long nu;char bn40;/书名char pn40;/出版社char na20;/作者ifstream file1;ofstream file3;char flag = y;while( flag=y |flag=Y) /由flag控制循环cout 1: 按书名查找一本书!endl;cout 2: 加入一本新书!endl;cout 3: 退出!endl;coutf;switch(f)case 1:coutbn;file1.open(
10、book.dat,ios:in | ios:binary);/按读方式打开文件while(!file1.eof()int n;file1.read(char *)&b1,sizeof(Book);n=file1.gcount();if(n=sizeof(Book)if(strcmp(b1.Getbookname(),bn)=0)/显示书的信息b1.Show();file1.close();break;case 2:coutnu;coutbn;coutpn;coutna;b1.Setdata(nu,bn,pn,na);file3.open(book.dat,ios:app|ios:binary)
11、;/增补方式打开文件file3.write(char*)&b1,sizeof(b1);file3.close();break;default: flag = n;4传说婆罗门庙中有一个塔台,台上有三根用钻石镶嵌的柱子,分别记作A柱、B柱和C柱,在A柱上放着64个金盘,每个金盘的大小都不一样,并且小金盘子放在大金盘的上面,显然,最大的金盘位于最下面,最小的金盘位于最上面。现在,试着把A柱上的盘子移到C柱上,移动规则是一次只能移动一个金盘,并且在移动过程中大金盘不能位于小金盘的上面。据说,当A柱上的所有金盘都移到C柱上的那一天,就是世界末日。试着用递归法编写一个程序,输入A柱上的盘子数量,输出正确的移动步骤和总的步数。/汉诺塔问题的源程序#include using namespace std;int main()void hanoi(int n,char one,char two,char three); int m; coutm; coutThe steps of moving m disks:endl; hanoi(m,A,B,C); return 0;void hanoi(int n,char one,char two,char three) /将n个盘从one座借助two座,移到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沪科版九年级全册物理第十六章 第一节 电阻和变阻器 同步精讲精炼学案
- 教师资格考试小学面试心理健康强化训练试题集解析
- (正式版)DB45∕T 2842-2024 《食糖电子交易与服务规范》
- 土木工程专业词汇
- 海洋测绘技术服务合同
- 碳足迹信息披露协议
- 画道馆2026年美术教育课程研发与推广协议
- 互联网金融服务2026年合同履行规范
- 奖金制度调整协议书2026发布
- 节日主题活动策划合同协议
- 游泳池建设项目实施方案范文
- 2026年ESG分析培训课件
- 武汉市东湖高新区低空共享无人机应用示范区建设项目采购需求
- 奥巴马就职演讲-中英对照
- 《水利水电工程施工作业人员安全操作规程》
- 换断桥铝外窗施工方案
- 三基三严护理重庆市题库及答案解析
- 2024-2025学年吉林省长春市外研版(一起)(2012)六年级下学期7月期末英语试卷含答案
- 学生干部留任汇报
- DB21-T 3709-2023 12345政务服务便民热线管理与服务规范
- 《HJ 212-2025 污染物自动监测监控系统数据传输技术要求》
评论
0/150
提交评论