首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件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
24
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
下列程序的输出结果是()。#include<iostream>usingnamespacestd;template<typenameT>Tfun(Ta,Tb){return(a<=b)?a:b;)
有以下程序:#include<iostream>usingnamespacestd;classR{public:R(intr1,intr2){R1=r1;R
下面程序的输出结果是()。#include<iostream>#include<math.h>usingnamespacestd;classpoint{private:doubl
下面关于构造函数和析构函数的描述中,错误的是()
下列叙述中错误的是()。
下列程序的输出结果是()。#include<iostream>usingnamespacestd;templateTfun(Ta,Tb){return(a>=b)?a:b;}voidmain()
在下面的类定义中,错误的语句是()。classSample{public:Sample(intval)://①~Sample();//②private:int
在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是
下列字符串中不能作为C++标识符使用的是
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
随机试题
对淋巴循环的叙述,正确的是()。
关于明代著名文学家王世贞的文坛地位,正确的说法是【】
Onefamousphysicianalways______tospendatleast15minutesongeneralreadingbeforehewenttosleepeachnight.
请叙述分段尿及前列腺液培养检查方法
黄某,男,34岁,昨日突然仆倒,不省人事,两目上视,四肢抽搐,口吐白沫。现心烦失眠,口苦咽干,便秘,舌红,苔黄腻。脉数。宜选用
在海外,开放式基金的销售主要分为()
理论和实践都表明,单一法人客户的各项周转率越高,盈利能力和偿债能力必然就越好。()
级数
组成一个计算机系统的两大部分是()。
PlantGasScientistshavebeenstudyingnaturalsourcesofmethanefordecadesbuthadn’tregardedplantsasaproducer,not
最新回复
(
0
)