首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用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
32
问题
请使用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://jikaoti.com/ti/TgA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面关于虚函数的描述中,正确的是()。A)基类中利用virtual关键字说明一个虚函数后,其派生类中定义相同的原型函数时可不必加virtual来说明B)虚函数是非成员函数C)虚函数是static类型的成员函数D)派生类中的虚函数与基
A、 B、 C、 D、 A要对线性表进行二分法查找,对线性表有两个要求:第一,要求线性表是按顺序方式存储的;第二,要求线性表中的元素是按照从小到大的顺序排好序。
下列程序的输出结果为12.324.6,请将横线处的缺失部分补充完整。#include<iostream>usingnamespacestd;classBase{public:Base(intA):id
下列关于析构函数的描述中,错误的是()。A)析构函数可以重载B)析构函数由系统自动调用C)每个对象的析构函数只被调用一次D)每个类都有析构函数
若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为()。A)aB)AA.aC)a{}D)AA::a{}
为了提高函数调用的实际运行速度,可以将较简单的函数定义为()。A)内联函数B)重载函数C)递归函数D)函数模板
已知类Myclass的定义如下classMyClass{public:voidfunction1(MyClass&C){cout<<c.data;)staticvoidfunction2(MyClass&C)
在对函数进行原型声明时,下列语法成分中,不需要的是()。A)函数返回类型B)函数参数列表C)函数名D)函数体
随机试题
美国学者提出课程改革后的推广建议包括()
新大环内酯抗生素的药理学特征有
已知正弦电流的初相位90°,在t=0时的瞬时值为17.32A,经过(1/50)S后电流第一次下降为0,则其角频率为()。
在项目融资过程中,选择项目的融资方式是属于( )阶段的内容。
在进行控制测试时,注册会计师如认为抽样结果无法达到预期信赖程度,则应当( )。
甲公司20×2年实现利润总额3640万元,当年度发生的部分交易或事项如下:(1)自3月20日起自行研发一项新技术。20×2年以银行存款支付研发支出共计680万元,其中研究阶段支出220万元,开发阶段符合资本化条件前的支出60万元,符合资本化条件后的支出4
当我们在谈论创意的时候,大多会认为这没有什么规律可循,或者说,创意应该是______的。我们会说:如果给创意制定一个框架的话,可能会束缚创意,让创意变成______的工匠活。填入画横线部分最恰当的一项是()。
若函数z=z(x,y)由方程ez+xyz+x+cosx=2确定,则
以学生会的名义于2005年6月2日发一份通知。具体内容如下:要求全体学生明天下午1:30听报告。地点:报告厅。报告的内容:关于现代美国教育。主讲人:美国教授史密斯。
A、Saltisquitenecessaryforthehealthofhumans.B、Eatingtoomuchsaltcoulddoharmtotheheart.C、Thequantityofsaltva
最新回复
(
0
)