首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.epp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doe类的对象myDoc中。然后将my
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.epp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doe类的对象myDoc中。然后将my
admin
2019-06-05
64
问题
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.epp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doe类的对象myDoc中。然后将myDoc中的字符序列反转,并输出到文件out.dat中。文件in.dat的长度不大于1000字节。
要求:
补充编制的内容写在“//**********333**********”与“//**********66666**********”两行之间。实现将myDoe中的字符序列反转,并将反转后的序列在屏幕上输出。不得修改程序的其他部分。
注意:程序最后已将结果输出到文件out.dat中,输出函数writeToFile已经给出并且调用。
//proj 3.cpp
#include
#include
#include
using namespace std;
class doc
{
private:
char*str;//文本字符串首地址
int length;//文本字符个数
public:
//构造函数,读取文件内容,用于初始化新对象,filename是文件名字符串首地址
doc(char*filename);
void reverse ();//将字符序列反转
一doc();
void writeToFile(char*filename);
};
doc::doc(char*filename)
{
ifstream myFile(filename);
int len=1001,tmp;
str=new char[1en];
length=0;
while((tmp=myFile.get())!=EOF)
{
str[1ength++]=tmp;
}
str[1ength]=‘\0’;
myFile.close();
}
void doc::reverse(){
//将数组str中的length个字符中的第一个字符与最后一个字符交换,第二个字符与倒数第二个
//字符交换……
//*********333*********
//*********666*********
}
doc::一doc()
{
delete[]str;
}
void doc:: writeToFile (char *
filename)
{
ofstream outFi le(fi lename);
outFile<
outFile.close();
}
void main()
{
doc myDoc(“in.dat”);
myDoc.reverse();
myDoc.writeToFile(“out.dat”);
}
选项
答案
int i,j; //定义两个整数临时变量i.j. for(i=0,j=lenqth一1;i
解析
本题主要考查的是doc类、构造函数、成员函数和析构函数。
【解题思路】
题目要求将myDoc中的字符序列反转,在main函数中我们看到myDoc是doc类,根据doc类的定义可以知道它是把读取文件的字符串存到str动态数组中。reveise函数实现将数组str中的length个字符中的第一个字符与最后一个字符交换,第二个字符与倒数第二个字符交换,依次类推。使用变量i和j,分别表示第一个字符和最后一个字符的下标,定义temp作为中间变量进行交换。
转载请注明原文地址:https://kaotiyun.com/show/om8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在公有派生时,派生类中定义的成员函数只能访问原基类的()。A)私有成员、保护成员和公有成员B)保护成员和私有成员C)公有成员和保护成员D)公有成员和私有成员
下列哪种数据模型可以用树形结构来表示实体之间联系()。A)网状模型B)数据模型C)关系模型D)层次模型
C++中将两个字符串连接起来组成一个字符串的函数是______。
下列程序的输出结果为012,请根据注释将横线处的缺失部分补充完整。#include<iostream>usingnamespacestd;classTest{public:Test(intA){data=a
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。A)Data+(DatA);B)Dataoperator+{Data};C)Data+operator{Data};D)operator+(Data,D
若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为()。A)aB)AA.aC)a{}D)AA::a{}
有如下两个类声明classAA{public:intm;};classBB:protectedAA{intn;};在类BB中,数据成员m的访问属性是_____,数据成员n
己知函数f的原型是“voidf(int*x,int&y);”,变量v1、v2的定义是“intv1,v2;”,下列调用语句中,正确的是()。A)f(v1,v2);B)f(v1,&v2);C)f(&v1,v2);D)f(
要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是()。A)fstreamB)istrearaC)ostreamD)iomanip
随机试题
局域网的网络软件主要包括网络数据库管理系统、网络应用软件和()。
在Word中,设置图片的环绕方式不包括()
下列积分收敛的是().
A.黏蛋白B.黏多糖C.葡萄糖D.糖原E.透明质酸真皮中含量最高的是
后张法预应力筋的张拉过程中,张拉操作时,应对断丝情况进行检查,其要求()。
随着社会经济的发展和施工技术的进步,现代工程建设呈现出建设规模不断扩大、技术复杂程度高等特点。近年来,出现了大量建筑规模较大的单体工程和具有综合使用功能的综合性建筑物,几万平方米的建筑比比皆是,十万平方米以上的建筑也不少。由于这些工程的建设周期较长,工程建
采用信用证付款方式的企业,在“其他货币资金”科目进行核算。()
“今天的你和昨天的你肯定是不一样的”,这句话体现的哲理是()。
能够正确描述2017年A市间接经济价值年值中三个指标占比的统计图是:
设有如下程序:PrivateSubCommandl_Click()DimsumAsDouble,xAsDoubleSum=0n=0Fori=lTo5x=rr/in=n+lsum=sum+xNextiEndSub
最新回复
(
0
)