首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myD0c中。然后将my
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myD0c中。然后将my
admin
2017-07-05
65
问题
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myD0c中。然后将myDoc中的字符序列反转,并输出到文件out.dat中。文件in.dat的长度不大于1000字节。
要求:
补充编制的内容写在“//**************333*************”
与“//*************66666***********”两行之间。实现将myDoc中的字符序列反转,并将反转后的序列在屏幕上输出。不得修改程序的其他部分。
注意:程序最后已将结果输出到文件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=001,tmp;
str=new char[fen];
length=0;
while((tmp=myFile.get())!=EOF)
{
str[length++]=tmp;
}
str[length]=’\0’;
myFile.close();
}
void doc::reverse(){
//将数组str中的length个字符中的第一个字符与最后一个字符交换,第二个字符与倒数第二个
//字符交换……
//**********333**********
//**********666**********
}
doc::一doc()
{
delete[]str;
}
void doc::writeToFile (char *
filename)
{
ofstream outFile(filename);
outFile<
outFile.close();
}
void main()
{
doc myDoc(”in.dat”);
myDoc.reverse();
myDoc.writeToFile(”out.dat”);
}
选项
答案
int i,j; //定义两个整数临时变量i.j. for(i=0,j=length一1;i
解析
题目要求将myDoc中的字符序列反转,在main函数中我们看到myDoc是doc类,根据doc类的定义可以知道它是把读取文件的字符串存到str动态数组中。reverse函数实现将数组str中的length个字符中的第一个字符与最后一个字符交换,第二个字符与倒数第二个字符交换,依次类推。使用变量i和j,分别表示第一个字符和最后一个字符的下标,定义temp作为中间变量进行交换。
转载请注明原文地址:https://www.kaotiyun.com/show/1GAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是 main() {int a=0,i; for(i=1;i<5;i++) {switch(i) {case 0: case 3:a+=2; case 1: case 2:a+=3;
定义如下变量和数组:inti;inty[2][3]={2,4,6,8,10,12};则下面语句的输出结果是【】。for(i=0;i<2;i++)cout<<y[1-i)[i+1]<<",";
程序设计中最基本、最常用的控制结构是【】。
继承具有(),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
有以下程序:#include<iostream>usingnamespacestd;intmain(){intx=15;while(x>10&&x<50){
下列描述中错误的是( )。
C++语言中的基本符号可以分为_______、_________、________三类。
如果一个模板声明列出多个参数,则多个参数之间必须使用______隔开,每个参数都必须重复使用关键字______。
友元运算符。obj1>obj2被C++编译器解释为()。
在表达式x+y*z中,“+”是作为成员函数重载的运算符,“*”是作为非成员函数重载的运算符。下列叙述中正确的是()。
随机试题
()不是死亡的特征之一。
男,26岁,10kV电压电烧伤右上肢、左上肢及双足,其中查体见右腕屈侧5.0cm×5.0cm大小创面,屈指浅肌腱外露,周围皮肤焦糊部分肌肉外翻烧焦,左肩部及前臂创面局限皮肤色为“黑皮革”样,双足外侧不规则创面存在,伤后1小时入院,导尿后引出少量酱油色
患者女性,48岁。因失眠使用地西泮,半片睡前服用。连续用药2个月后,自感半片药物不起作用,需服用1片才能人睡,请问发生此现象的原因是药物产生
下列哪项不是疣状癌与鳞状细胞癌的区别点
A、母病及子B、相乘传变C、子病犯母D、相侮传变E、制化传变“见肝之病,知肝传脾”属于
熟狗脊片的加工方法是牛膝的加工方法是
通塞脉片与精致冠心片相同点为
实行建筑高度控制区内建筑高度,应按建筑物室外地面至建筑物和构筑物()计算。
可表现为肾病综合征的疾病是
软件生命周期中所花费用最多的阶段是()。
最新回复
(
0
)