首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件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
18
问题
请打开考生文件夹下的解决方案文件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://kaotiyun.com/show/VOAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对于一个类定义,下列叙述中错误的是()。
下列有关函数重载的叙述中,错误的是()
有如下类声明:classTestClass1{intk;public:voidset(intn){k=n;}intget()const{returnk;}};classT
下面关于虚函数的描述中正确的是()
有如下程序:#include<iostream>usingnamespacestd;{TestClass(){cout<<"BB";fun()}voidfun(){cout<<"Bf";}};c
有如下程序:#include<iostream.h>usingnamespacestd;classTestClass{public:TestClass(){cout<<"defaultconstru
在下面的类定义中,错误的语句是()。classSample{public:Sample(intval)://①~Sample();//②private:int
有如下定义:classMA{intvalue;public:MA(intn=0):value(n){}};MA*ta,tb;其中MA类的对象名标识符是_____
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
随机试题
在Word中,在()模式下,看不到首字下沉的效果。
领导的权力一般由三部分组成,即资源控制权、奖惩权和
项目策划决策阶段的融资咨询主要是从()角度,通过分析研究提出项目的融资方案,为投资决策服务。
装饰装修工程施工前首先实行的制度是()。
通关的基本程序除申报外,还包括()。
企业中为支持正常生产提供动力的生产、工具制造、设备检修等活动是()。
火箭对于()相当于()对于集装箱
分离焦虑产生的因素有哪些?
backandforth
C语言源程序名的后缀是()。
最新回复
(
0
)