二、基本操作題
41請使用VC6或使用【答題】菜單打開考生文件夾projl下的工程projl,該工程中包含程序文件main.epp,其中有類Door(“門”)和主函數(shù)main的定義。程序中位于每個“//ERROR****found ****”之后的一行語句有錯誤,請加以改正。改正后程序的輸出結(jié)果應(yīng)為:
打開503號門…門是鎖著的,打不開。
打開503號門的鎖…鎖開了。
打開503號門…門打開了。
打開503號門…門是開著的,無須再開門。
鎖上503號門…先關(guān)門...門鎖上了。
注意:只修改每個“//ERROR***********found **********”下的那一行,不要改動程序中的其他內(nèi)容。
#include
using namespace std;
class Door{
int Bum;//門號
bool closed;//true表示門關(guān)著
bool locked://true表示門鎖著
public:
Door(int nHm){
//ERROR***********found***********
nun=this一>ann:
closed=locked=true:
}
bool isClosed()const{rehlrn closed;}
//門關(guān)著時返回true,否則返回false
bool isOpened()const{return!closed;}
//門開著時返回true,否則返回false
b001 isLocked()const{retum locked;}
//門鎖著時返回true,否則返回false
bool isUnlocked()const{return!locked;}
//門未鎖時返回true,否則返回false
void open(){ //開門
cout<
//ERROR***********found***********
if(closed)
cout<<”門是開著的,無須再開門?!?
else if(10cked)
cout<<”門是鎖著的,打不開?!?
else{
closed=false;
eout<<”門打開了。”;
}
}
void close(){//關(guān)門
cout<
if(closed)
cout<<”門是關(guān)著的,無須再關(guān)門?!?
else{
closed=true;
cout<<”門關(guān)上了.";
}
}
//ERROR************found************
void lock()const{//鎖門
cout<
if(locked)
cout<<”門是鎖著的,無須再鎖門?!?
else{
if(!closed){
cout<<”先關(guān)門...”;
closed=true;
}
locked=true:
cout<<”門鎖上了?!?
}
}
wild unlock(){//開鎖
cout<
if(!locked)
cout<<”門沒有上鎖,無須再開鎖?!?
else{
locked=false;
cout<<”鎖開了?!?
}
};
int main(){
Door door(503);
door.open();
door.unlock();
door.open();
door.open();
floor.10ck();
return 0;
}
參考解析:
(1)this—>num=num;
(2)if(!closed)
(3)void lock(){
41請使用VC6或使用【答題】菜單打開考生文件夾projl下的工程projl,該工程中包含程序文件main.epp,其中有類Door(“門”)和主函數(shù)main的定義。程序中位于每個“//ERROR****found ****”之后的一行語句有錯誤,請加以改正。改正后程序的輸出結(jié)果應(yīng)為:
打開503號門…門是鎖著的,打不開。
打開503號門的鎖…鎖開了。
打開503號門…門打開了。
打開503號門…門是開著的,無須再開門。
鎖上503號門…先關(guān)門...門鎖上了。
注意:只修改每個“//ERROR***********found **********”下的那一行,不要改動程序中的其他內(nèi)容。
#include
using namespace std;
class Door{
int Bum;//門號
bool closed;//true表示門關(guān)著
bool locked://true表示門鎖著
public:
Door(int nHm){
//ERROR***********found***********
nun=this一>ann:
closed=locked=true:
}
bool isClosed()const{rehlrn closed;}
//門關(guān)著時返回true,否則返回false
bool isOpened()const{return!closed;}
//門開著時返回true,否則返回false
b001 isLocked()const{retum locked;}
//門鎖著時返回true,否則返回false
bool isUnlocked()const{return!locked;}
//門未鎖時返回true,否則返回false
void open(){ //開門
cout<
//ERROR***********found***********
if(closed)
cout<<”門是開著的,無須再開門?!?
else if(10cked)
cout<<”門是鎖著的,打不開?!?
else{
closed=false;
eout<<”門打開了。”;
}
}
void close(){//關(guān)門
cout<
if(closed)
cout<<”門是關(guān)著的,無須再關(guān)門?!?
else{
closed=true;
cout<<”門關(guān)上了.";
}
}
//ERROR************found************
void lock()const{//鎖門
cout<
if(locked)
cout<<”門是鎖著的,無須再鎖門?!?
else{
if(!closed){
cout<<”先關(guān)門...”;
closed=true;
}
locked=true:
cout<<”門鎖上了?!?
}
}
wild unlock(){//開鎖
cout<
if(!locked)
cout<<”門沒有上鎖,無須再開鎖?!?
else{
locked=false;
cout<<”鎖開了?!?
}
};
int main(){
Door door(503);
door.open();
door.unlock();
door.open();
door.open();
floor.10ck();
return 0;
}
參考解析:
(1)this—>num=num;
(2)if(!closed)
(3)void lock(){