更多"请使用VC6或使用[答题]菜单打开考生目录proj3下的工程文件pro"的相关试题:
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj3下的工程proj3,其中声明了SortedList类,是一个用于表示有序数据表的类。其成员函数insert的功能是将一个数据插入到一个有序表中,使得该数据表仍然保持有序。请编写这个insert函数。程序的正确输出应为:
插入前:
1,2,4,5,7,8,10
插入6和3后:
1,2,3,4,5,6,7,8,10
要求:
补充编制的内容写在“//********333********”与“//********666********”之间。不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//SortedList.h
#include<iostream>
using namespace std;
class SortedList //有序数据表类
int len;
double*d;
public:
SortedList(int len,double data[]=NULL);
~SortedList( )delete[]d;
int length( )constreturn len;//有序数据表长度(即元素的个数)
double getElement(int i)constreturn d[i];
void insert(double data);
void show( )const;//显示有序数据表
;
void writeToFile(char*,const Sort-edlist &);
//main.cpp
#include"SortedList.h"
SortedList::SortedList (int len,double data[]):len(len)
d=new double[len];
for(int k=0;k<len;k++)
d[k]=(data==NULL0.0:data[k]);
for(int i
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。DataList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应元素之和。请编写这个operator+函数。程序的正确输出应该是:
两个数据表:
1,2,3,4,5,6
3,4,5,6,7,8
两个数据表之和:
4,6,8,10,12,14
要求:
补充编制的内容写在“//********333********”与“//********666********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//DataList.h
#include <iostream>
using namespace std;
class Datalist //数据表类
int len;
double*d;
public:
DataList(int len,double data[]=
DataList(Datalist &data);
int length ( ) constreturn len;
double getElement(int i)const return d[i];
Datalist operator+(const DataList&list)const; //两个数据表求和
void show ( ) const; //显示数据表void writeToFile(char*,constDataList&);
//main.cpp
#include"Datalist.h"
DataList::DataList(int len,doubledata[]):len(len)
d=new double[len];
for(int i=0;i<len;i++)
d[i]=(data==N
[简答题]请使用VC6或使用[答题]菜单打开考生目录proj3下的工程文件proj3,其中定义了用于表示特定数制的数的模板类Number和表示一天中的时间的类TimeOfDay;程序应当显示:
01:02:03.004
06:04:06.021
但程序中有缺失部分,请按照以下的提示,把缺失部分补充完整:
(1)在“//**1** ****found****”的下方是一个定义数据成员seconds的语句,seconds用来表示“秒”。
(2)在“//**2** ****found****”的下方是函数advanceSeconds中的一个语句,它使时间前进k秒。
(3)在“//**3** ****found****”的下方是函数advance中的一个语句,它确定增加k后n的当前值和进位,并返回进位。例如,若n的当前值是表示时间的55分,增加10分钟后当前值即变为5分,进位为1(即1小时)。
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“****found****”。填写的内容必须在一行中完成,否则评分将产生错误。
//proj3.cpp
#include<iostream>
#include<iomanip>
using namespace std;
template<int base> //数制为base的数
class Number
int n; //存放数的当前值
public:
Number(int i):n(i) //i必须小于base
int advance(int k);//当前值增加k个单位
int value( )constreturn n;
//返回数的当前值
;
class TimeOfDay
public:
Number<24>hours; //小时(0~23)
Number<60>minutes; //分(0~59)
//**1** **********found**********______;//秒(0~59)
Number<1000>milliseco
[多项选择]请使用VC6或使用[答题]菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3. cpp,补充编制C++程序proj3. cpp,其功能是读取文本文件in. dat中的全部内容,将文本存放到doc类的对象myDoc中。然后将myDoc中的字符序列反转,并输出到文件out. dat中。文件in. dat的长度不大于1000字节。
要求:
补充编制的内容写在“//**********333**********”与“//**********66666**********”两行之间。实现将myDoc中的字符序列反转,并将反转后的序列在屏幕上输出。不得修改程序的其他部分。
注意:程序最后已将结果输出到文件out. dat中,输出函数writeToFile已经给出并且调用。
//proj3. cpp
#include < iostream >
#include < fstream >
#include < estring >
using namespace std;
class doc
private:
char * str;//文本字符串首地址
int length; //文本字符个数
public :
//构造函数,读取文件内容,用于初始化新对象,filwename是文件名字符串首地址
doe(char * filename) ;
void reverse( ) ;//将字符序列反转
~ doc ( ) ;
void writeToFile ( char * filename) ;
;
doc : : doc ( char * filename)
ifstream myFile(filename) ;
int len = 1001 ,trap;
str = new char[ len] ;
length = 0 ;
while( ( tmp = myFile, get( ) ) != EOF)
str[ length ++ ] = trap ;<
[简答题]请使用VC6或使用[答题] 菜单打开考生文件夹proj3下的工程文件proj3。本题创建一个小型字符串类,字符串长度不超过100。程序文件包括proj3. h、proj3. cpp、writeToFile. obj。补充完成重载赋值运算符函数,完成深复制功能。
屏幕上输出的正确结果应该是:
Hello!
Happy new year!
要求:
补充编制的内容写在“//**********333**********”与“//**********666**********”两行之间。不得修改程序的其他部分。
注意:
程序最后调用writeToFile函数,使用另一组不同的测试数据,将不同的运行结果输出到文件out. dat中。输出函数writeToFile已经编译为obj文件。
//proj3. h
#inelude < iostream >
#include < iomanip >
using namespaee std;
class MiniString
public :
friend ostream &operator << ( ostream &output, const MiniString &s ) //重载流插入运算符
output << s. sPtr; return output;
friend istream &operator >> ( istrearn &input, MiniString &s )//重载流提取运算符
char temp [100]; //用于输入的临时数组
temp[0] = ’/0’; //初始为空字符串
input >> setw( 100 ) >> temp;
int inLen = strlen(temp) ;//输入字符串长度
if( inLen != 0)
s. length = inLen; //赋长度
if( s. sPtr! = 0) delete []s. sPtr; //避免内存泄漏
s. sPtr = new ch
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj3下的工程文件proj3。本题创建一个小型字符串类,字符串长度不超过100。程序文件包括proj3.h、proj3.cpp、writeToFile.obj。补充完成重载赋值运算符函数,完成深复制功能。
屏幕上输出的正确结果应该是:
Hello!
Happy new year!
要求:
补充编制的内容写在“//**********333**********”与“//**********666**********”两行之间。不得修改程序的其他部分。
注意:
程序最后调用writeToFile函数,使用另一组不同的测试数据,将不同的运行结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件。
//proj3.h
#include<iostream>
#include<iomanip>
using namespace std;
class MiniString
public:
friend ostream &operator<< ostream &output,const MiniString &s)
//重载流插入运算符
output <<s.sPtr; return output;
friend istream &operator>>(istream &input,MiniString &s)
//重载流提取运算符
char temp[100];//用于输入的临时数组
temp[0]=’/0’; //初始为空字符串
input>>setw(100)>>temp;
int inLen=strlen(temp);
//输入字符长度
if(inLen!=0)
s.length=inLen; //赋长度
if(s.sPtr!=0)delete[]s.sPtr;//避免内存泄漏
s.sPtr=new char[s.length+1];
strcpy(s.sPtr,temp);
//如
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,其中定义了用于表示平面坐标系中的点的类MyPoint和表示矩形的类MyRectangle;程序应当显示:
(0,2)(2,2)(2,0)(0,0)4
但程序中有缺失部分,请按照以下提示,把缺失部分补充完整:
(1)在“//**1** ****found****”的下方是构造函数的定义,它用参数提供的左上角和右下角的坐标对up_left和down_right进行初始化。
(2)在“**2** ****found****”的下方是成员函数getDownLeft的定义中的一条语句。函数getDownLeft返回用MyPoint对象表示的矩形的左下角。
(3)在”//**3** ****found****”的下方是成员函数area的定义,它返回矩形的面积。
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“****found****”。
//proj3.cpp
#include<iostream>
using namespace std;
class MyPoint//表示平面坐标系中的点的类
double x;
double y;
public:
MyPoint (double x,double y)this->x=x;this->y=y;
double getX( )constreturn x;
double getY( )constreturn y;
void show( )constcout<<’(’<<x<<’,’<<y<<’)’;
);
class MyRectangle //表示矩形的类
MyPoint up_left; //矩形的左上角顶点
MyPoint down_right; //矩形的右下角顶点
public:
MyRectangle (MyPoint upleft, MyPoint downright);
MyPoint getUpLeft ( ) const re
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj3下的工程prog3,其中声明了VaIArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:
VaIArray v1=1,2,3,4,5
VaIArray v2=2,2,2,2,2
要求:
补充编制的内容写在“//*******333*******”与“//********666********”之间。不要修改程序的其他部分。
注意:
相关文件包括:main.cpp、ValArray.h。
程序最后调用writeToFile函数,使用另一组不同的测试数据,将不同的运行结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件。
//ValArray.h
#include<iostream>
using namespace std;
class ValArray
int*v;
int size;
public:
ValArray(const int*p,int n)size(n)
v=new int[size];
for (int i=0;i<size;i++)
v[i]=p[i];
ValArray(const ValArray& other);
~ValArray( )delete [] v;
void setElement(int i,int val)
v[i] =val;
void print (ostream& out) const
for (int i=0;i<size-1;i++)
out<<b[i]<<",";
out<<v[size-1]<<’’;
;
void writeToFile (const char*);
//main.cpp
#include
[简答题]请使用“答题”菜单或使用VC6打开考生文件夹proj3下的工程proj3,其中声明了SorteList类。这是一个用于表示有序数据表的类,其成员函数insert的功能是将一个数据插入到有序表中,使得该数据表仍保持有序。请编写lnsert函数。程序的正确输出应该是:
1,2,4,5,7,8,10
插入6和3后:
1,2,3,4,5,6,7,8,10
要求:补充编制的内容写在//********333********与//料料料料666********两行之间,不得修改程序的其他部分。
注意:程序最后已经将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//源程序
#include"SortedList.h"
SortedList:: SortedList(int len, double data[]):len(len)
d=new double[len+2];
for(int k=0; k<len; k++) d[k]=(data==NULL0.0:data[k]);
for(int i=0; i<len-l,i++)
int m=i;
for(int j=i; j<len; j++)
if(d[j]<d[m]) m=j;
if(m>i)
double t=d[m];
d[m]=d[i];
d[i]=t;
void SortedList::insert(double data)
//********333********
//********666********
void SortedList:: show ( ) const //显示有序数据表
for(int i=0; i<len-1,i++) cout<<d[i]<<",";
cout<<d[len-1]<<endl;
int main( )
double s[]=5,8,1,2,10,4,7;
SortedList list(7,s)
[简答题]请使用“答题”菜单或使用VC6打开考生文件夹proj3下的工程proj3,其中声明了MyString类。MyString是一个用于表示字符串的类。成员函数startsWith的功能是判断此字符串是否以指定的前缀开始,其参数s用于指定前缀字符串。如果参数s表示的字符串是MyString对象表示的字符串的前缀,则返回true;否则返回false。注意,如果参数s是空字符串或等于MyString对象表示的字符串,则结果为true。
例如:字符串"abc"是字符串"abcde"的前缀,而字符串"abd"不是字符串"abcde"的前缀。请编写成员函数startsWith。在main函数中给出了一组测试数据,此情况下程序的输出应该是:
s1=abcde
s2=abc
s3=abd
s4=
s5=abcde
s6=abcdef
s1 startsWith s2:true
s1 startsWith s3 false
s1 startsWith s4 true
s1 startsWith s5 f true
s1 startsWith s6 false
要求:补充编制的内容写在//********333********与//********666********两行之间,不得修改程序的其他部分。
注意:程序最后已经将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//源程序
#include"MyString.h"
bool MyString::startsWith(const char*s)const
//********333******** //********666********
int main( )
char s1[]="abcde";
char s2[]="abc";
char s3[]="abd";
char s4[]=" ";
char s5[]="abcde";
char s6[]="abcdef";
MyString str(s1)
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹projl下的工程proj1,其中有枚举DOGCOLOR、狗类Dog和主函数man的定义。程序中位于每个“//ERROR ****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是:
There is a white dog named Hoho.
There is a black dog named Haha.
There is a motley dog named Hihi.
注意:只修改每个“//ERROR ****found****”下的那一行,不要改动程序中的其他内容。
#include <iostream>
using namespace std;
enum DOGCOLOR BLACK,WHITE,YELLOW,BROWN,PIEBALD,OTHER;
class Dog //狗类
DOGCOLOR color;
char name[20];
static int count;
public:
Dog(char name[],DOGCOLOR color)
strcpy(this->name,name);
strcpy(this->color,color);
DOGCOLOR getColor ( ) constreturncolor;
const char* getName ( ) const return * name;
const char * getColorString ( )const
switch (color)
case BLACK:return"black";
case WHITE:return"white";
case YELLOW:return"yellow";
case BROWN:return"brown";
case PIEBALD:return"piebald";
return"motley";
void show ( ) const
cout<<"
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
Leaf Node
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“// ****found****”。
#include<iostream>
using namespace std;
class Component
public:
//声明纯虚函数print( )
//**********found**********
;
class Composite:public Component
public:
//**********found**********
void setChild(______)
m_child=child;
virtual void print( )const
m_child->print( );
private:
Component*m_child;
;
class Leaf:public Component
public:
virtual void print( )const
//**********found**********
______
;
int main( )
Leaf node;
Composite comp;
comp.setChild(&node);
Component*p=∁
p->print( );
return 0;
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2。其中有向量基类VectorBase、向量类Vector和零向量类ZeroVector的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该程序正确输出结果应为:
(1,2,3,4,5)
(0,0,0,0,0,0)
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include<iostream>
using namespace std;
class VectorBase //向量基类,一个抽象类
int len;
public:
VectorBase(int len):len(len)
int length( )constreturn len;
//向量长度,即向量中元素的个数
virtual double getElement(int i)const=0;//取第i个元素的值
virtual double sum( )const=0;
//求所有元素的和
void show( )const//显示向量中所有元素
cout<<"(";
for(int i=0;i<length( )-1;i++)
cout<<getElement(i)<<",";
//********found********
cout<<______<<")"<<endl;//显示最后一个元素
;
class Vector:public VectorBase
//向量类
double*val;
public:
Vector(int len,double v[]=NULL):
VectorBase(len)
val=new double[len];
for(int i=0;i<len;i++)val[i]=(v==NuLL0.0:v[i]);
//********found********
~Vector( )______
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2,其中有矩阵基类MatrixBase、矩阵类Matnx和单位阵UnitMatrix的定义,还有mam函数的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include<iostream>
using namespace std;
//矩阵基础类,一个抽象类
class MatrixBase
int rows,cols;
public:
MatrixBase(int rows,int cols):rows(rows),cols(cols)
int getRows( )constreturn rows;
//矩阵行数
int gatCols( )constreturn cols;
//矩阵列数
virtual double getElement(int r,int c)const=0;//取第i个元素的值
void show( ) const
//分行显示矩阵中所有元素
for(int i=0;i<rows;i++)
cout<<endl;
for(int j=0;j<cols;j++)
//**********found**********
COUt<<______<<" ";
;
//矩阵类
class Matrix:public MatrixBase
double*val;
public:
//**********found**********
Matrix(i
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj1下的工程proj1。其中有线段类Line的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是:
End point 1=(1,8),End point 2=(5,2),length=7.2111。
注意:只修改每个“//ERROR ****found****”下的那一行,不要改动程序中的其他内容。
#include <iostream>
#include <cmath>
using namespace std;
class Line;
double length(Line);
class Line //线段类
double x1,y1; //线段端点1
double x2,y2; //线段端点2
public:
//ERROR **********found**********
Linedouble x1,double y1,doublex2,double y2)const
this->x1=x1;
this->y1=y1;
this->x2=x2;
this->y2=y2;
double getX1( )constreturn x1;
double getY1( )constreturn y1;
double getX2( )constreturn x2;
double getY2( )constreturn y2;
void show ( ) const
cout<<"End point 1=("<<x1<<","<<y1;
cout<<"),End point 2=("<<x2<<","<<y2;
//ERROR ********found********
cout<<"),length="<<length(this)
<<"。"<<endl;
;
double length (Line 1)
//ERROR
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹projl下的工程proj1,此工程包含一个源程序文件proj1.cpp。其中位于每个注释“//ERROR****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:You are nght.
注意:只修改注释“//ERROR ****found****”的下一行语句,不要改动程序中的其他内容。
//proj1.cpp
#include <iostream>
using namespace std;
class MyClass
public:
MyClass(int x):number (x)
//ERROR **********found**********
~MyClass(int x)
//ERROR **********found**********
void Judge(MyClass &obj);
private:
int number;
void Judge(MyClass &obj)
if(obj.number==10)
cout<<"You are right."<<endl;else
cout<<"Sorry"<<endl;
int main( )
//ERROR **********found**********
MyClass object;
Judge(object);
return 0;