首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件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
20
问题
请打开考生文件夹下的解决方案文件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://www.kaotiyun.com/show/VOAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于派生类构造函数和析构函数的说法中,错误的是()。
对于一个类定义,下列叙述中错误的是()。
有以下程序:#include<iostream>usingnamespacestd;classR{public:R(intr1,intr2){R1=r1;R
假定a=3,下列程序的运行结果是()。#inelude<iostream.h>intfun(intn);voidmain(){cout<<"Pleaseinputanumber:";int
下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false,则横线处应填上()。Boolfun(char*str){inti=0,j=0;while(str[j])j++;for(j
不改变关系表中的属性个数但能减少元组个数的是______。
有如下程序:#include<iostream>usingnamespacestd;{TestClass(){cout<<"BB";fun()}voidfun(){cout<<"Bf";}};c
有如下函数模板定义:templateT1sum(T1a1){return(a1+a2+a3);}则以下调用中正确的是()。
有如下定义:classMA{intvalue;public:MA(intn=0):value(n){}};MA*ta,tb;其中MA类的对象名标识符是_____
随机试题
产品组合的维度主要有4个,即一般评估产品组合的四要素:_____、_____、_____及_____。
货币市场是指()
赫克托尔是荷马史诗________中的英雄人物。
欧洲的石楠群落演替属于()
A.凝血活酶形成障碍B.凝血酶形成障碍C.纤维蛋白形成障碍D.血小板质或量的异常E.血管壁的异常出血时间延长,毛细廊管脆性试验阳性,血块退缩良好
下列血红蛋白(Hb)检测结果符合女性中度贫血的是
票据的出票日期“10月20日”使用中文大写,应写为“零壹拾月零贰拾日”。()
行政诉讼强制的主体是()。
(2014年第38题)结合材料回答问题:材料1航海家哥伦布完成了他的前无古人的探险活动后,向支持他探险的西班牙国王和王后汇报他的发现时说:“地球是圆的。”他因为这一伟大的发现而名垂后世。但是,时隔500多年后,美国《纽约时报》中东事务专栏作家、普利策奖
A、Thereisnoneedtoprepareforexams.B、UsingEnglishismoreimportantthanmemorizing.C、Passingtheclassisnotaneasyt
最新回复
(
0
)