niusouti.com

问答题使用VC6打开源程序文件modi3.cpp。其中类TestClass用于把文件输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。  此程序将in.txt文件中的内容输出到屏幕,并且将文件按照以上方式分割,存于文件out1.txt和out2.txt中。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。  1.从输入文件中获得一个字符,并判断是否到文件结尾,如果到文件结尾,则退出循环。请在注释//********1********后

题目
问答题
使用VC6打开源程序文件modi3.cpp。其中类TestClass用于把文件输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。  此程序将in.txt文件中的内容输出到屏幕,并且将文件按照以上方式分割,存于文件out1.txt和out2.txt中。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。  1.从输入文件中获得一个字符,并判断是否到文件结尾,如果到文件结尾,则退出循环。请在注释//********1********后添加适当的语句。  2.把获得的输入文件的内容存储到buf中,并且用len记录下文件的长度。请在注释//********2********后添加适当的语句。  3.将输入文件的后一半内容存储在第二个文件中,请在注释//********3********后添加适当的语句。  4.使用文件流对象打开输入文件modi3.txt,请在注释//********4********后添加适当的语句。  注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。

相似考题
更多“使用VC6打开源程序文件modi3.cpp。其中类TestClass用于把文件输出到屏幕,然后进行文件的分割。分割的方法”相关问题
  • 第1题:

    要将一段视频中的视频和音频分开,然后只使用在视频作为素材,应该打开()选择卡然后点击()

    • A、音频、保存视频
    • B、视频、分割音频
    • C、音频、分割视频
    • D、视频、分割视频

    正确答案:B

  • 第2题:

    用WINZIP分割一个现有Zip文件为更小的文件块时指定要使用的分割Zip文件的名称必须和已打开的Zip文件名()。

    • A、不同
    • B、相同
    • C、没有要求
    • D、必须是汉字

    正确答案:A

  • 第3题:

    画面分割器的作用是()

    • A、把屏幕分割
    • B、把视频信号分割
    • C、抗衰减

    正确答案:A

  • 第4题:

    多选题
    fireworks使用Fireworks PEG作为源文件的优点是?()
    A

    源PNG文件始终是可编辑的

    B

    如果打开一个其他格式的现成文件,原文件会受到保护。实际的更改是对Fireworks PNG文件进行的

    C

    在PNG文件中,复杂图形可以分割成多个切片,然后导出为具有不同文件格式和优化设置的多个文件

    D

    PNG格式文件具有动画功能


    正确答案: A,B
    解析: 暂无解析

  • 第5题:

    问答题
    使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为:  OK  注意:错误的语句在//********error********的下面,修改该语句即可。

    正确答案: 1.将语句“virtual void func();”修改为“virtual void func()=0;”
    2.将语句“cout<<OK<endl;”修改为“cout<<OK<<endl;”
    3.将语句“CDerive1 *p = (CDerive1*) obj;”修改为“CDerive1 *p=(CDerive1*) &obj;”
    解析:1.类CDerive1中的func()函数是纯虚函数,定义格式为:virtual <函数类型> <函数名> (<参数表>)=0,因此第1个标识下应将语句“virtual void func();”修改为“virtual void func()=0;”。
    2.第2个标识下的cout流中,输出数据用流插入运算符“<<”顺序加入,应改成“cout<<OK<<endl;”
    3.虚函数有非多态调用和多态调用两种调用方式,非多态调用是指不使用指针或引用的直接调用,多态调用是指通过对象的指针或引用的调用。主函数定义了CDerivel*p,p是基类CDerive1的指针,采用多态调用方式,将派生类对象的地址赋给基类指针p,因此第3个标识下应改为“CDerive1 *p=(CDerive1*) &obj;”。
    解析: 暂无解析

  • 第6题:

    单选题
    画面分割器的作用是()
    A

    把屏幕分割

    B

    把视频信号分割

    C

    抗衰减


    正确答案: C
    解析: 暂无解析

  • 第7题:

    多选题
    Fireworks使用PNG作为源文件的优点是:()
    A

    PNG文件始终是可编辑的

    B

    如果打开一个其它格式的现成文件,原始文件会受到保护

    C

    在PNG文件中,复杂图形可以分割成多个切片,然后导出为具有不同文件格式和各种优化设置的多个文件

    D

    PNG格式具有动画功能


    正确答案: A,C
    解析: 暂无解析

  • 第8题:

    单选题
    分屏器的作用是()
    A

    把屏幕分割

    B

    视频信号分割

    C

    抗干扰


    正确答案: A
    解析: 暂无解析

  • 第9题:

    问答题
    使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:  1.定义类CPoint的带有两个参数的构造函数,两个变量为x、y都为int型,且缺省值为0。请在注释//********1********料料料后添加适当的语句。  2.完成类CRectangle的构造函数,给point1和point2进行赋值。请在注释//********2********后添加适当的语句。  3.完成类CRectangle的函数GetArea(),用来计算矩形面积。请在注释//********3********后添加适当的语句。  4.定义CRectangle类,拥有两个私有对象point1和point2,类型为Point,请在注释//********4********后添加适当的语句。  注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

    正确答案: 1.添加语句:“CPoint(int i=0,int j=0)”
    2.添加语句:“CRectangle(int top,int left,int right,int bottom): point1(top,left), point2(right,bottom)”
    3.添加语句:“int width=point1.GetX()-point2.GetX();”
    4.添加语句:“CPoint point1;”
    解析:1.在第1个标识下添加构造函数,该构造函数带有两个整型参数x和y,缺省值为0,因此第1个标识下应添加语句:“CPoint(int i=0,int j=0)”。
    2.第2个标识下通过CPoint类的构造函数来完成CRectangle类成员的初始化,构造初始化列表完成对变量的初始化,故第2个标识下应添加语句:“CRectangle(int top,int left,int right,int bottom):point1(top,left),point2(right,bottom)”。
    3.矩形面积为矩形长和宽的乘积,两个CPoint对象的x坐标相减的绝对值为矩形的宽,CPoint对象的x坐标为私有成员,只能通过公有接口函数调用获得,因此第3个标识下添加语句:“int width=point1.GetX()-point2.GetX();”。
    4.CRectangle类的成员变量为两个Cpoint对象成员point1和point2,第4个标识下补充类对象point1的定义,故第4个标识下应添加语句:“CPoint point1;”。
    解析: 暂无解析

  • 第10题:

    问答题
    使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正程序中的错误。  本题的功能是:从键盘输入字符串s,然后输出字符串s中的字符个数。  注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。

    正确答案: 1.std::cout<<″please input a string:″<<std::endl;
    2.using namespace std;
    解析:1.第1个标识实现在屏幕上输出“please input a string:”的提示语句。在程序中用到C++标准库时,要使用std标准命名空间进行限定。cout为标准库函数,所以要声明cout是在命名空间std中定义的流对象,即第1个标识下的“std::cout<<″please input a string:″<<std::endl;”。
    2.第2个标识下的“namespace std;”语句是使用标准命名空间std,格式应该为“using namespace std;”。
    解析: 暂无解析

  • 第11题:

    问答题
    使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。  1.定义私有成员变量year、month、day,分别表示年、月、日,类型为int。请在注释∥********1********后添加适当的语句。  2.完成构造函数,分别给year、month、day赋值,请在注释∥********2********后添加适当的语句。  3.完成重载符号“+=”的定义,请在注释∥********3********后添加适当的语句。  4.完成print()打印函数,如2008年8月8日到屏幕和文件modi3.txt格式相同,请在注释∥********4********后添加适当的语句。  注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。

    正确答案: 1.添加语句:int year,month,day;
    2.添加语句:year=y;month=m;day=d;
    3.添加语句:Date & operator+=(int m)
    4.添加语句:cout<<year<<″年″<<month<<″月″<<day<<″日″<<endl;
    解析:1.题目1要求“定义私有成员变量year、month、day”。在C++程序的private区域中添加变量year、month、day的定义,即在第1个标识下添加“int year,month,day;”。
    2.题目2要求“完成构造函数,分别给year、month、 day赋值”。在程序中“Date(int y,int m,int d)”的构造函数中添加给year、month、day赋值的语句,即在第2个标识下添加“year=y;month=m;day=d;”。
    3.题目3要求“完成重载符号“+=”的定义”。在C++中,运算符重载的定义格式为函数operator+重载运算符+,所以这里补全“Date & operator+=(int m)”。
    4.题目4要求“完成函数print()打印函数”。在print()函数中补全其打印功能,即在第四个标识下添加“cout<<year<<″年″<<month<<″月″<<day<<″日″<<endl;”。
    解析: 暂无解析

  • 第12题:

    问答题
    使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:  1.声明类objA1,请在注释∥********1********后添加适当的语句。  2.为类objA0增加友元函数func(),请在注释∥********2********后添加适当的语句。  3.为类objA1增加友元函数func(),请在注释∥********3********后添加适当的语句。  4.函数func()返回objA1对象中的变量和objA0的静态变量的乘积,请在注释∥********4********后添加适当的语句。  注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。

    正确答案: 1.添加语句:“class objA1;”
    2.添加语句:“friend int func(objA1&obj);”
    3.添加语句:“friend int func(objA1&obj);”
    4.添加语句:“return obj.m_A1*objA0::m_A0;”
    解析:1.类objA0中引用objA1的成员对象,因此需要在类objA0前添加类objA1的声明,第1个标识下应添加语句:“class objA1;”。
    2.友元函数是在类声明中由关键字friend修饰的非成员函数,func()函数在类外部给出了具体的实现形式,即“int func(objA1&obj)”,因此第2个标识下应添加语句:“friend int func(objA1&obj);”,这里参数是obiA1类的对象obj。
    3.声明友元函数,因此第3标识下应语句:“friend int func(objA1&obj);”。
    4.类objA1的对象obj对象可以直接访问obj.m_A1,objA0的静态变量m_A0是所有对象的共享成员,其访问形式为:objA0::m_A0,因此第4个标识下应添加语句:“return obj.m_A1*objA0::m_A0;”。
    解析: 暂无解析

  • 第13题:

    在ODPS中,收文登记有纸质文件登记和电子文件登记,其中纸质文件可通过以下方式登记()。

    • A、按“收文”菜单的“收文登记”命令,打开收文登记屏幕进行录入登记
    • B、按“登记”按钮,打开收文登记屏幕,进行录入登记
    • C、同时打开信箱和外收文登记薄,进行登记
    • D、打开信箱,选择“收文登记”命令,进行录入登记

    正确答案:A,B

  • 第14题:

    fireworks使用Fireworks PEG作为源文件的优点是?()

    • A、源PNG文件始终是可编辑的
    • B、如果打开一个其他格式的现成文件,原文件会受到保护。实际的更改是对Fireworks PNG文件进行的
    • C、在PNG文件中,复杂图形可以分割成多个切片,然后导出为具有不同文件格式和优化设置的多个文件
    • D、PNG格式文件具有动画功能

    正确答案:A,B,C

  • 第15题:

    分屏器的作用是()

    • A、把屏幕分割
    • B、视频信号分割
    • C、抗干扰

    正确答案:B

  • 第16题:

    单选题
    用WINZIP分割一个现有Zip文件为更小的文件块时指定要使用的分割Zip文件的名称必须和已打开的Zip文件名()。
    A

    不同

    B

    相同

    C

    没有要求

    D

    必须是汉字


    正确答案: B
    解析: 暂无解析

  • 第17题:

    问答题
    使用VC6打开考生文件夹下的源程序文件modi3.cpp。请完成以下部分,实现在屏幕上输出为:  TestClass3  TestClass2  这个程序需要修改的部分,请按照以下部分实现。  1.类TestClass0不能被实例化,请定义一个纯虚函数print,在注释//********1********后添加适当的语句。  2.类TestClass1私有虚继承类TestClass0,请在注释//********2********后添加适当的语句。  3.类TestClass2公有继承类TestClass0,请在注释//********3********后添加适当的语句。  4.类TestClass3公有继承类TestClass2与TestClass1,请在注释//********3********后添加适当的语句。  注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。

    正确答案: 1.添加语句:virtual void print()=0;
    2.将“class TestClass1:”补充完整为:class TestClass1:virtual private TestClass0
    3.将“class TestClass2:”补充完整为:class TestClass2:public TestClass0
    4.将“class TestClass3:”补充完整为:class TestClass3:public TestClass2,public TestClass1
    解析:1.题目1要求“请定义一个纯虚函数print”。在C++中,虚函数是指基类中用virtual声明的成员函数。纯虚函数是在声明虚函数时被“初始化”为0的函数,即“virtual void print()=0;”。
    2.题目2要求“类TestClass1私有虚继承类TestClass0”。在C++中声明一个派生类时将基类的继承方式指定为private的,称为私有继承。声明TestClass1虚继承类TestClass0,继承方式为私有,因此需加上关键字private,即“class TestClass1:virtual private TestClass0”。
    3.题目3要求“类TestClass2公有继承类TestClass0”。在定义一个派生类时将基类的继承方式指定为public的,称为公有继承。基类前面加上关键字public,即“class TestClass2: public TestClass0”。
    4.题目4要求“类TestClass3公有继承类TestClass2与TestClass1”。补全“class TestClass3: public TestClass2,public TestClass1”,派生类所继承的两个基类之间用逗号隔开。
    解析: 暂无解析

  • 第18题:

    问答题
    使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示坐标的类TestClass1,但类TestClass1的定义并不完整,按要求完成下列操作,将类的定义补充完整。  1.声明TestClass2类为TestClass1类的友元类,请在注释∥********1********后添加适当的语句。  2.完成类的构造函数,分别对成员变量赋值,请在注释∥********2********后添加适当的语句。  3.完成类的构造函数,分别对成员变量赋值,请在注释∥********3********后添加适当的语句。  4.完成计算平面上两点之间的距离函数Distance,计算的方法如下:X坐标之差的平方与Y坐标之差的平方之和的开方。请在注释∥********4********后添加适当的语句。  注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。

    正确答案: 1.添加语句:friend class TestClass2:
    2.添加语句:TestClass1(float a,float b)
    3.添加语句:TestClass1(float a)
    4.添加语句:result=sqrt((p.X-q.X)*(p.X-q.X)+(p.Y-q.Y)(p.Y-q.Y));
    解析:1.题目1要求“声明TestClass2类为TestClass1类的友元类”。C++中声明友元类的一般形式为friend类名:,所以这里补全“friend class TestClass2:”。
    2.题目2要求“完成类的构造函数,分别对成员变量赋值”。程序中TestClass1类的构造函数缺少定义,构造函数首部的一般格式为:构造函数名(类型1形参1,类型2形参2,……),所以在第2个标识下补全“TestClass1(float a,float b)”。
    3.题目3要求“完成类的构造函数,分别对成员变量m值”。同理,第三个标识下补全“TestClass1(float a)”。
    4.题目4要求“完成计算平面上两点之间的距离函数Distance”。题目中已经给出了计算方法,x坐标之差的平歹与y坐标之差的平方之和的开方。利用C++中的开方函数sqrt补全函数中的两点之间的距离,即“result=sqrt((p.X-q.X)*(p.X-q.X)+(p.Y-q.Y)(p.Y-q.Y));”。
    解析: 暂无解析

  • 第19题:

    问答题
    使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。  1.在类TestClass中定义name为字符串类型,age为整型,请在注释∥********1********之后添加语句。  2.设置类TestClass0的基类为TestClass类的定义,请在注释∥********2********后添加语句。  3.在类TestClass的派生类TestClass0的公有成员中定义析构函数TestClass0,请在∥********3********后添加。  4.设置类TestClass1的基类为TestClass类的定义,请在∥********4********后实现。  本程序输出如下结果:  TestClass class constructor  TestClass0 class constructor  TestClass on class constructor  TestClass1 class constructor  TestClass1 class constructor  TestClass class constructor  TestClass0 class constructor  TestClass class constructor  注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。

    正确答案: 1.添加语句:char* name;int age;
    2.添力语句:class TestClass0:public TestClass
    3.添加语句:~TestClass0()
    4.添加语句:class TestClass1:public TestClass
    解析:1.题目1要求“TestClass中定义name为字符串类型,age为整型”。根据题目要求,在程序TestClass类中定义变量name和age,即“char* name;int age;”。
    2.题目2要求“设置类TestClass0的基类为TestClass类的定义”。在C++中,从已有的类产生一个新的子类,称为类的派生。声明派生类的一般形式为:class派生类名:[继承方式] 基类名。根据声明派生类的一般形式,这里补全“classTestClass0:public TestClass”。
    3.题目3要求“在类TestClass的派生类TestClass0的公有成员中定义析构函数TestClass0”。析构函数的名字是类名的前面加一个“~”符号,声明析构函数为“~TestClass0()”。
    4.题目4要求“设置类TestClass1的基类为TestClass1类的定义”,在第4个标识下补充“class TestClass1:public TestClass”。
    解析: 暂无解析

  • 第20题:

    问答题
    用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了多个类,但类不能达到输出要求,按照定义的输出修改函数,使得输出如下:  TestClass3  TestClass2  TestClass1  其中定义的类并不完整,按照要求完成下列操作,将类的定义补充完整。  1.类TestClass2公共继承于TestClass1,请在注释∥********1********后添加适当的语句。  2.print函数为虚函数,请在注释∥********2********后添加适当的语句。  3.修改语句,使得p指定对象obj3,请在注释∥********3********后添加适当的语句。  4.修改语句,利用p调用print()函数,完成输出信息,注释∥********4********后添加适当的语句。  注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。    使用VC6打开考生文件夹下的源程序文件modi3.cpp。程序通过继承关系,实现对姓名的控制。类TestClass1实现对名字访问的接口,TestClass2实现对名字的设置和输出。  程序输出为:  TestClass2Name  May  其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。  1.在类TestClass1中定义接口函数GetName()为纯虚函数。请在注释∥********1********后添加适当的语句。  2.函数GetName2()实现获得名字的缓存,但是只获得读允许操作这个缓存,请在注释∥********2********后添加适当的语句。  3.实现TestClass2的构造函数,请在注释∥********3********后添加适当的语句。  4.完成TestClass2的构造函数,实现对名字的处理。请在注释∥********4********后添加适当的语句。  注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。

    正确答案: 1.添加语句:virtual void GetName()=0;
    2.添加语句:const char* GetName2()
    3.添加语句:TestClass2(char* str)
    4.添加语句:m_str[i]=0;
    解析:1.题目1要求“在类TestClass1中定义接口函数GetName()为纯虚函数”。在C++中,基类用关键字virtual将成员函数声明为虚函数,而纯虚函数是在声明虚函数时“初始化”为0的函数,即“virtual void GetName()=0;”。
    2.题目2要求“函数GetName2()实现获得名字的缓存,但是只获得读允许操作这个缓存”。实际上是要求函数GetName2()只能对数据成员进行引用,而不能修改,所以应将GetName2()函数声明为常成员函数,即“const char* GetName2()”。
    3.题目3要求“实现TestClass2的构造函数”。TestClass2的构造函数与类TestClass2名相同,而且第三个标识下的大括弧中是对字符数组str的操作,所以类TestClass2的构造函数中的参数为str,即“TestClass2(char* str)”。
    4.题目4要求“完成TestClass2的构造函数,实现对名字的处理”。补全类TestClass2的构造函数,构造函数中的名字变量str对应于类TestClass1中的成员变量m_str,所以这里补全变量赋值操作“m_str[i]=0;”。
    解析: 暂无解析

  • 第21题:

    问答题
    使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正其中的错误,使程序正常运行,并且输出以下结果:  4,5.  7,8  4,8.  注意:错误的语句在//******error******的下面,修改该语句即可。

    正确答案: 1.将语句“virtual void move(int a; int b)”修改为“virtual void move(int a, int b)”
    2.将语句“CObj1(int i, int j,int k):(i,j)”修改为“CObj1(int i, int j,int k):CObj0(i,j)”
    3.将语句“print();”修改为“CObj0::print();”
    解析:1.虚函数的声明方式为:virtual <类型说明符> <函数名>(<参数表>),参数表中各参数之间应该用逗号隔开,因此第1个标识下应改为“virtual void move(int a, int b)”。
    2.主函数调用构造函数CObj1时,传递了四个实参,完成对变量m、n、x和y的初始化,变量 x和y是基类CObj0的数据成员,初始化通过基类构造函数CObj0(int i,int j)来完成,第2个标识下应改为“CObj1(int i, int j,int k):CObj0(i,j)”。
    3.由程序运行结果可知标识3下执行基类的print()函数,需要通过类名来指定需要调用的print()函数,即第3个标识下应改为“CObj0::print();”。
    解析: 暂无解析

  • 第22题:

    问答题
    使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为:  Max is 7  提示:max()函数实现找出两个数中的最大值,并作为函数值返回。  注意:错误的语句在∥******error******的下面,修改该语句即可。

    正确答案: 1.将语句“int max(int a, int b)”修改为“int max(int&a,int &b)”
    2.将语句“max(-3,n);”修改为“max(m,n);”
    解析:1.函数max采用的参数传递机制是传地址,因此第1个标识下应该将语句“int max(int a, int b)”修改为“int max(int&a,int &b)”。
    2.调用函数max,实参类型应为一个整型变量,第2个标识下应将语句“max(-3,n);”修改为“max(m,n);”。
    解析: 暂无解析

  • 第23题:

    问答题
    使用VC6打开源程序文件modi3.cpp。其中类TestClass用于把文件输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。  此程序将in.txt文件中的内容输出到屏幕,并且将文件按照以上方式分割,存于文件out1.txt和out2.txt中。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。  1.从输入文件中获得一个字符,并判断是否到文件结尾,如果到文件结尾,则退出循环。请在注释//********1********后添加适当的语句。  2.把获得的输入文件的内容存储到buf中,并且用len记录下文件的长度。请在注释//********2********后添加适当的语句。  3.将输入文件的后一半内容存储在第二个文件中,请在注释//********3********后添加适当的语句。  4.使用文件流对象打开输入文件modi3.txt,请在注释//********4********后添加适当的语句。  注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。

    正确答案: 1.将“while()”补充完整为:while(infile.get(ch))
    2.添加语句:buf[1en++]=ch;
    3.添加语句:outfile2<<buf[i++];
    4.将“TestClass Fsp();”修改为“TestClass Fsp(modi3.txt);”
    解析:1.题目1要求“从输入文件中获得一个字符,并判断是否到文件结尾”。程序中的“while()”循环条件中缺少从文件中获得字符并判断是否到达文件结尾的语句,所以这里补全while循环判断条件,即“while(infile.get(ch))”。
    2.题目2要求“把获得的输入文件的内容存储到buf中,并且用len记录下文件的长度”。因此为buf分配空间,即“buf[1en++]=ch;”。
    3.题目3要求“将输入文件的后一半内容存储在第二个文件中”。在C++中,用流插入运算符为“<<”,根据题目要求要将buf中存放的数据存入文件outfile2,即这里补全“outfile2<<buf[i++];”。
    4.题目4要求“使用文件流对象打开输入文件modi3.txt。”程序应该是调用类“TestClass”中的成员函数“split”。类的构造函数定义中存在参数char*fileName,所以修改注释下的语句缺少参数,即“TestClass Fsp(modi3.txt);”。
    解析: 暂无解析

  • 第24题:

    问答题
    使用VC6打开考生文件夹下的源程序文件modi3.cpp,阅读下列程序说明和代码,功能如下:  从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,然后把数据打印到屏幕,然后释放内存。  其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。  1.在父节点的Next中保存新插入的节点的指针,请在注释//********1********后添加适当的语句。  2.把pNext的子节点赋给pNext本身,请在注释//********2********后添加适当的语句。  3.判定P的子节点不为空,如果不为空,则打印P其中的数据到屏幕,请在注释//********3********后添加适当的语句。  4.用temp1保存动态申请内存节点的链表头,请在注释//********4********后添加适当的语句。  注意:仅在函数指定位置添加语句,请勿改动主函数 main与其他函数中的任何内容。

    正确答案: 1.添加语句:pParent->next=temp;
    2.添加语句:pNext=pNext->next;
    3.补充完整为:while(p->next!=NULL)
    4.补充完整为:TestClass* templ=p->next;
    解析:1.题目1要求“在父节点的Next中保存新插入的节点的指针”。指针的操作pParent->next表示为pParent的子结点,在父节点的Next中保存新插入的节点的指针,即“pParent->next=temp;”。
    2.题目2要求“把pNext的予节点赋给pNext本身”。pNext->next表示pNext的子结点,把pNext的子节点赋给pNext本身,即“pNext=pNext->next;”。
    3.题目3要求“判定P的子节点不为空,如果不为空,则打印P其中的数据到屏幕”。程序中的“while()”缺乏p的子节点不为空的判断条件,所以修改为“while(p->next!=NULL)”。
    4.题目4要求“用temp1保存动态申请内存节点的链表头”。p为链表,p->next为链表头。程序中的语句“TestClass* temp1=;”中temp1没有被赋值,所以修改为“TestClass* templ=p->next;”。
    解析: 暂无解析