更多"请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj"的相关试题:
[简答题]请使用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打开考生文件夹proj1下的工程proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个//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//狗类
DOCCOLOR color;
char name[20];
static int count;
public:
Dog(char name[],DOGCOLOR color)
strcpy(this->name,name);
//ERROR************found************
strcpy(this->color,color);
DOGCOLOR getColor( ) const return color;
//ERROR************found************
const char*getName( ) const return*name;
const char*getColorString( ) const
switch(color)
case BLACK: return"black";
case WHITE: return"white";
case YELLOW: return"yello
[简答题]请使用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。其中有向量基类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( ) const return 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]);
//**********
[简答题]请使用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打开考生文件夹proj2下的工程proj2。此工程包含程序文件main.cpp,其中有类AutoMobile(“汽车”)及其派生类Car(“小轿车”)、Truck(“卡车”)的定义,还有主函数main的定义。请在程序中//************found************下的画线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的正确输出结果应为:
车牌号:冀ABC1234品牌ForLand类别:卡车当前档位:0最大载重量:1~
车牌号:冀ABC1234品牌ForLand类别:卡车当前档位:2最大载重量:1~
车牌号:沪XY25678品牌QQ类别:小轿车当前档位:0座位数:5
车牌号:沪XY25678品牌QQ类别:小轿车当前档位:-1座位数:5
注意:只能在画线处填写适当的代码,不要改动程序中的其他内容,也不能删除或移动
//************found************。
//源程序
#include<iostream>
#include <iomanip>
#include <cmath>
using namespace std;
class AutoMobile //"汽车"类
char*brand; //汽车品牌
char*number; //车牌号
int speed; //档位:1、2、3、4、5,空档:0,倒档:-1
public:
A. ~AutoMobile()delete[] brand; delete[] number;
[简答题]请使用“答题”菜单或使用VC6打开考生文件夹proj1下的工程proj1,此工程包含程序文件
main.cpp,其中有类Book(“书”)和主函数main的定义。程序中位于每个//ERROR************found************下的语句行有错,请加以改正。改正后程序的输出应该是:
书名:C++语言程序设计 总页数:299
已把"C++语言程序设计"翻页到第50页
已把“C++语言程序设计"翻页到第51页
已把书合上。
书是合上的。
已把"C++语言程序设计"翻页到第1页
注意:只能修改每个//ERROR************found************下的那一行,不要改动程序中的其他内容。
// 源程序
#include<iostream>
using namespace std;
class Book
char*title;
int num_pages; //页数
int cur_page; //当前打开页面的页码,0表示书未打开
public:
Book(const char*theTitle,int pages):num_pages(pages)
//ERROR************found************
title=new char[strlen(theTitle)];
strcpy(title,theTitle);
cout<<endl<<"书名:"<<title<<"总页数:"<<num_pages;
~Book( )delete[]title;
//ERROR************found************
bool isOpen( ) const return num_pages!=0; //书打开时返回true,否则返回false
int numOfPages( ) const return num_pages; //返回书的页数
int currentPage( ) const return cur_page; //返
[简答题]请使用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;
[简答题]请使用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或使用[答题]菜单打开考生文件夹projl下的工程proj1,该工程含有一个源程序文件proj1. cpp。其中位于每个注释“//ERROR **** found ****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:
The value is 10
注意:只修改注释“//ERROR ***** found ****”的下一行语句,不要改动程序中的其他内容。
// proj1, cpp
#include < iostream >
using namespace std;
class MyClass
int value ;
public :
// ERROR ******** found ********
void MyClass(int val) : value(val)
int GetValue( ) const return value;
void SetValue(int val) ;
;
//ERROR ******** found ********
inline void SetValue(int val) value = val;
int main( )
MyClass obj (0) ;
obj. SetValne(10) ;
//ERROR ******** found ******** 下列语句功能是输出obj的成员value的值
cout << "The value is " << obj. value << endl;
return 0 ;
[简答题]请使用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或使用[答题]菜单打开考生文件夹proj2下的工程proj2。此工程中包含一个源程序文件main.cpp,其中有“房间”类Room及其派生出的“办公室”类Office的定义,还有主函数main的定义。请在程序中“//****found****”下的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
办公室房间号:308
办公室长度:5.6
办公室宽度:4.8
办公室面积:26.88
办公室所属部门:会计科
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include<iostream>
using namespace std;
class Room //“房间”类
int room no; //房间号
double length; //房间长度(m)
double width; //房间宽度(m)
public:
Room(int the room_no.double the_length,double the_width):room_no(the_room_no),length(the_length),width(the width)
int theRoomNo( )constreturn room_no;
//返回房间号
double theLength( )const returnlength;) //返回房间长度
double theWidth( )const returnwidth; //返回房间宽度
//**********found**********
double theArea( )const______
//返回房间面积(矩形面积)
;
class Office:public Room //“办公室”类char*depart; //所属部门
public:
Office (int the_room_no.double the_length,double the_width,constchar*t
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj1下的工程proj1,此工程中包含一个源程序文件main.cpp,其中有类Book(“书”)和主函数main的定义。程序中位于每个“//ERROR****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是:
书名:C++语句程序设计总页数:299
已把“C++语言程序设计”翻到第50页
已把“C++语言程序设计”翻到第51页
已把“C++语言程序设计”翻到第52页
已把“C++语言程序设计”翻到第51页
已把书合上。
当前页:0
注意:只修改每个“//ERROR ****found****”下的那一行,不要改动程序中的其他内容。
#include<iostream>
using namespace std;
class Book
char*title;
int num_pages;//页数
int cur_page;//当前打开页面的页码,0表示书未打开
public:
//ERROR **********found**********
Book(const char*theTitle,int pages)num_pages(pages)
title=new char[strlen(theTitle)+1];
strcpy(title,theTitle);
cout<<endl<<"书名:"<<title<<"总页数:"<<num_pages;
~Book( )delete[]title;)
bool isClosed( )constreturn cur_page==0; //书合上时返回true,否则返回falsebool isOpen( )constreturn! isClosed( );)//书打开时返回true,否则返回falseint numOfPages( )const return num_pages;) //返回书的页数
int currentPage( )const return cur_page;) //返回打开页面的页
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2,此工程包含一个源程序文件proj2.cpp。其中定义了Score类。
Score是一个用于管理考试成绩的类。其中,数据成员_s指向存储成绩的数组,_n表示成绩的个数;成员函数Sort使用冒泡排序法将全部成绩按升序进行排列。
请在程序中的横线处填写适当的代码,然后删除横线,以实现Score类的成员函数Sort。
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//proj2.cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
class Score
public:
Score(double * s, int n):_s(s),_n(n)
double GetScore (int i) const return_s[i];
void Sort ( );
private:
double*_s;
int_n;
;
void Score::Sort( )
for(int i=0;i<n-1;______)
//********found********
for(int j=______;j>i;j--)
if(_s[j]<_s[j-1])
//交换_s[j]和_s[j-1]double t=_s[j];
//********found********
______;
//********found********
______;
int main ( )
const int NUM=10;
double s[NUM];
srand(time (0));
for(int i=0;i<NUM;i++)
s[i]=double(rand ( ))/RAND M
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2,此工程中含有一个源程序文件proj2.cpp。函数char * GetNum(char*src,char*buf)从src开始扫描下—个数字字符序列,并将其作为一个字符串取出放入字符串空间buf中。函数返回扫描的终止位置,如果返回NULL表示没有扫描到数字字符序列。
运行程序时,如果输入的一行字符序列是
ABC012XY2378MN274WS
则输出为:
Digit string 1 is 012
Digit string 2 is 378
Digit string 3 is 274
注意:只在横线处编写适当代码,不要删除或移动“//****found****”。
//proj2.cpp
#include <iostream>
using namespace std;
char*GetNum(char*src,char*buf)
while(*src!=’/0’)
if(isdigit(*src)break;
if (*src=="/0")
//********found********
______;
while(*src!=’/0’&& isdigit(*src)
//********found********
______;
buf++;
src++;
*buf=’/0’;
return src;
int main( )
char str[100l,digits[20];
cin.getline(str,100);
char*p=str;
int i=1;
while((p=GetNum(p,digits))!=NULL)
cout<<"Digit string "<<i<<"is "<<digits<<endl;
//********found********
______;<
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj1下的工程proj1,此工程中含有一个源程序文件proj1.cpp。其中位于每个注释“//ERROR ****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:
This object is no.1
注意:只修改注释“//ERROR ****found****”的下一行语句,不要改动程序中的其他内容。
//proj1.cpp
#include <iostream>
using namespace std;
class MyClass
public:
MyClass ( ):count (0) cout<<"Thisobject is";
//ERROR ********found********
void Inc ( ) const
cout<<"no."<<++count<<endl;
private:
//ERROR ********found********
int count=0;
;
int main ( )
MyClass * obj=new MyClass;
//ERROR ********found********
*obj.Inc( );
return 0;
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2。该工程中包含一个程序文件maln.cpp,其中有“书”类Book及其派生出的“教材”类TeachingMaterial的定义,还有主函数main的定义。请在程序中“//********found********”下的横线处填写适当的代码,然后删除横线,以实现上述类定义和函数定义。此程序的正确输出结果应为:
教材名:C++语言程序设计
页 数:299
作 者:张三
相关课程:面向对象的程序设计
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include <iostream>
using namespace std;
class Book //"书"类
char * title; //书名
int num_pages; //页数
char * writer; //作者姓名
public:
Book(const char * the_title,intpages,const char * the_writer):num_pages(pages)
title=new char[strlen(the_title)+1];
strcpy(title,the_title);
//**********found**********
______
strcpy(writer,the_writer);
~Book( )______
int numOfPages( )constreturn num_pages; //返回书的页数
const char * theTitle ( ) const return title; //返回书名
const char * theWriter ( ) const return writer; //返回作者名
;
class TeachingMaterial:public Book
//“教材”类
char * course;
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj1下的工程proj1,此工程包含一个源程序文件proj1.cpp。文件中将表示数组元素个数的常量Size定义为4,并用int类型对类模板进行了实例化。文件中位于每个注释“//ERROR****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:
1 2 3 4
注意:模板参数名用T。只修改注释“//ERROR ********found********”的下一行语句,不要改动程序中的其他内容。
//proj1.cpp
#include <iostream>
using namespace std;
//将数组元素个数 Size定义为4
//ERROR ********found********
const int Size;
template <typename T>
class MyClass
public:
MyClass(T*p)
for(int i=0;i<Size;i++)
array[i]=p[i];
void Print( );
private:
T array[Size];
;
template <typename T>
void MyClass::Print( )
for (int i=0;i<Size;i++)
cout<<array[i]<<’/t’;
int main( )
int intArray[Size]=1,2,3,4;
//ERROR ********found********
MyClass <double> obj(intArray);
obj.Print( );
cout<<endl;
return 0;