首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoc中。然后将myDoc中的字符序列反转,并输出到
请打开考生文件夹下的解决方案文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoc中。然后将myDoc中的字符序列反转,并输出到
admin
2019-04-24
23
问题
请打开考生文件夹下的解决方案文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoc中。然后将myDoc中的字符序列反转,并输出到文件out.dat中。文件in.dat的长度不大于1000字节。
要求:
补充编制的内容写在“//********333********”与“//********66666********”两行之间。实现将myDoc中的字符序列反转,并将反转后的序列在屏幕上输出。不得修改程序的其他部分。
注意:程序最后已将结果输出到文件out.dat中,输出函数writeToFile已经给出并且调用。
1 //proj3.cpp
2 #include
3 #include
4 #include
5 using namespace std;
6
7 class doc
8 {
9 private:
10 char*str;//文本字符串首地址
11 int length;//文本字符个数
12 public:
13 //构造函数,读取文件内容,用于初始化新对象,filename是文件名字符串首地址
14 doc(char*filename);
15 void reverse();//将字符序列反转
16 ~doc();
17 void writeToFile(char*filename);
18 };
19 doc::doc(char*filename)
20 {
21 ifstream myFile(filename);
22 int len=1001,tmp;
23 str=new char[len];
24 length=0 ;
25 while((tmp=myFile.get())!=EOF)
26 {
27 str[length++]=tmp;
28 }
29 str[length]=’\0’;
30 myFile.close();
31 }
32 void doc::reverse(){
33 //将数组str中的length个字符中的第一个字符与最后一个字符交换,第二个字符与倒数第二个
34 //字符交换……
35 //***************333***************
36
37
38 //***************666***************
39 }
40
41 doc::~doc()
42 {
43 delete[]str;
44 }
45 void doc::writeToFile(char*filename)
46 {
47 ofstream outFile(filename);
48 outFile<
49 outFile.ciose();
50 }
51 void msin()
52 {
53 doc myDoc("in.dat");
54 myDoc.reverse();
55 myDoc.writeToFile("out.dat");
56 }
选项
答案
l int i,j ; //定义两个整数临时变量i.j. 2 for(i=0,j=length-1 ; i
解析
题目要求将myDoc中的字符序列反转,在main函数中我们看到myDoc是doc类,根据doc类的定义可以知道它是把读取文件的字符串存到str动态数组中。reverse函数实现将数组str中的length个字符中的第一个字符与最后一个字符交换,第二个字符与倒数第二个字符交换,依次类推。使用变量i和i,分别表示第一个字符和最后一个字符的下标,定义temp作为中间变量进行交换。
转载请注明原文地址:https://kaotiyun.com/show/VOAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列有关函数重载的叙述中,错误的是()
下面程序的输出结果为()。#inelude<iostream.h>voidmain(){intx;int&y=x;//变量引用y=99;cout<<"x="<<x<<end1;}
定义如下枚举类型:enum{Monday,Tuesday,Wednesday,Thrusday,Friday=2};表达式Wednesday==Friday的值是()。
有如下类声明:classFoo{intbar;};则Foo类的成员bar是()
下列关于this指针的叙述中,正确的是()
有如下函数模板定义:templateT1sum(T1a1){return(a1+a2+a3);}则以下调用中正确的是()。
关于运算符重载,下列表述中正确的是()。
对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用______的构造函数。再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。
有如下定义:classMA{intvalue;public:MA(intn=0):value(n){}};MA*ta,tb;其中MA类的对象名标识符是_____
随机试题
医用X线诊断检查装置构成的部件,不包括
用立位滤线器摄影的体位是
子宫内膜从增生期变成分泌期,其最直接原因是( )
海关的电子通关系统有()。
开放型基金和封闭型基金对基金经理的约束强弱情况分别为()
生产控制的基本程序主要包括()。
企业无论是采用年数总和法还是双倍余额递减法计算累计折旧,折旧总额均是相同的。()
节能减排是党中央、国务院作出的重大决定部署,是“十一五”时期的一项约束性指标,是一条不可逾越的红线。我们将进一步统一思想,认真贯彻落实党的十七大精神,牢固树立抓节能减排就是落实科学发展观、转变经济发展方式的理念,充分认识节能减排工作的长期性、艰苦性和复杂性
广告置换是指媒体与媒体之间,以资源共享为基础,以自愿的效用最大化为目的,满足双方需求实现共赢的等值交换。根据上述定义,下列属于广告置换的是:
已知P-1AP=α1是矩阵A属于特征值λ=2的特征向量,α2,α3是矩阵A属于特征值λ=6的线性无关的特征向量,那么矩阵P不能是()
最新回复
(
0
)