首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用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
680
问题
请使用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)常成员函数只能通过常对象来调用
以下函数模板min的功能是返回数组a中最小元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmin(Ta[],intn){Ttemp=a[0];for(inti=1,i<n;i
C++中通常和一个运算符连用,构成一个运算符函数名的C++关键字为______。
A、 B、 C、 D、 A要对线性表进行二分法查找,对线性表有两个要求:第一,要求线性表是按顺序方式存储的;第二,要求线性表中的元素是按照从小到大的顺序排好序。
Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是()。A)cppB)exeC)objD)lik
若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为()。A)aB)AA.aC)a{}D)AA::a{}
常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图(DFD),则应采用______方法。
已知类Myclass的定义如下classMyClass{public:voidfunction1(MyClass&C){cout<<c.data;)staticvoidfunction2(MyClass&C)
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为
随机试题
主张契约论的有()
鼻腔鼻窦癌中最多见的病理类型是
160日龄产蛋鸡群2天内产蛋下降30%,大部分鸡呼吸困难,流鼻涕,打喷嚏;部分鸡结膜潮红,眶下窦水肿,有干酪样分泌物。剖检见上呼吸道黏膜充血、肿胀,表面覆盖大量黏液,其他脏器无明显病变。治疗该病应选用
应激性溃疡出血时错误的治疗是()
根据《环境质量标准》,关于1类声环境功能区环境噪声限值的说法,正确的是()。
适用于有强烈振动和冲击的重型设备的螺栓是()。
某商场系增值税一般纳税人,适用增值税税率为17%。2012年春节期间为进行促销,该商场规定购物每满200元积10分(每1积分的公允价值为1元),不足200元部分不积分,积分可在1年内使用。某顾客购买了售价为5850元(含增值税额850元)、成本为4000
下列关于作业成本法的表述中,不正确的有()。
群众工作是公安专业工作的有机组成部分,群众工作的情况如何,直接反映在公安专业工作的( )上,公安民警必须善于面对面地做好群众工作,掌握做好群众工作的基本功。
FAXTRANSMISSIONTO:DorothyYostFROM:RamonRiveraDATE:October15RE:WorkshopAsyouknow,saleshaveplummetedoverthe
最新回复
(
0
)