av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

試題

計(jì)算機(jī)二級(jí)《C++》上機(jī)練習(xí)題及答案

時(shí)間:2025-02-23 21:46:01 試題 我要投稿
  • 相關(guān)推薦

2016計(jì)算機(jī)二級(jí)《C++》上機(jī)練習(xí)題及答案

  一、基本操作題

  1請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾projl下的工程projl,其中有枚舉DOGCOLOR、狗類Dog和主函數(shù)main的定義。程序中位于每個(gè)“//ERROR ****found****”下的語句行有錯(cuò)誤,請(qǐng)加以改正。改正后程序的輸出結(jié)果應(yīng)該是:

  There is a white dog named Hoh0. There is a blaCk dog named Haha. There is a motley dog named Hihi. 注意:只修改每個(gè)//ERROR****found****女料下的那一行,不要改動(dòng)程序中的其他內(nèi)容。

  #inClude using namespaCe std; //狗的顏色:黑、白、黃、褐、花、其他

  enum DOGCOLOR{BLACK,WHITE,YELLOW,BROWN,PIEBALD,OTHER}; Class Dog{//狗類

  DOGCOLOR Color; Char name[20]; statiC int Count; publiC:

  Dog(Char nalTle[],DOGCOLOR Color){ strCpy(this一>name,name);

  //ERROR**********found**********、

  strCpy(this一>Color,Color);

  } 1 DOGCOLOR getColor()Const{retum Color;}

  //ERROR**********found**********

  Const Char * 9etName()Const{return*finin9;} Const Char * 9etColorString()Const{

  switCh(Color){

  Case BLACK:return”blaCk“; Case WHITE:return”white”:

  Case YELLOW:return’"yellow”: Case BROWN:return”brown”; ease PIEBALD:return”piebald”:

  }

  return”motley”;

  }

  void show()Const{ . Cout<<”There is a”<

  } }; int main(){

  //ERROR**********found**********

  Dog dogl(”Hoh0”,WHITE),dog2(”Haha”,BLACK);d0g3(”Hihi”,0THER); d091.show();

  dos2.show(); dos3.show(); return 0;

  }

  參考解析:

  (1)this->color=color:

  (2)consL char getName()eonst{return*name;}

  (3)Dog dogl(”Hoho”,WHITE)。dog2(”Haha”,

  BLACK),dog3(”Hihi”,OTHER);

  二、簡單應(yīng)用題

  2請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2。此工程中包含一個(gè)源程序文件main.cpp,其中有“房間”類Room及其派生出的“辦公室”類0ffice的定義,還有主函數(shù)main的定義。請(qǐng)?jiān)诔绦蛑?ldquo;//****found****”下的橫線處填寫適當(dāng)?shù)拇a并刪除橫線,以實(shí)現(xiàn)上述類定義。此程序的正確輸出結(jié)果應(yīng)為:

  辦公室房間號(hào):308

  辦公室長度:5.6

  辦公室寬度:4.8

  辦公室面積:26.88

  辦公室所屬部門:會(huì)計(jì)科

  注意:只能在橫線處填寫適當(dāng)?shù)拇a,不要改動(dòng)程序中的其他內(nèi)容,也不要?jiǎng)h除或移動(dòng)“///料料found••料”。

  #include

  using namespaee std;

  class Room{ //“房間”類

  int room_n0;//房間號(hào)

  double length;//房間長度(m)

  double width;//房間寬度(n1)

  public:

  Room(int the—room—n0,double the~length,double the—width):loom—no(the—room—no),length(the—

  length),width(the—width){}

  int theRoomNo()eonst{return iDonl—n0;}

  //返回房間號(hào)

  double theLength()const{return length;}//返回房間長度

  double theWidth()const{return width;}//返回房間寬度

  //**********found**********

  double theArea()const{_______________}//返回房間面積(矩形面積)

  };

  class Office:public Room{//“辦公室”類

  char*depart;//所屬部門

  public:

  Office(int the_room_n0,double the_length,double the_width,eonst char木the_depart)

  //**********found**********

 。篲______________{

  depart=new char[strlen(the depart)+1];

  //**********found**********

  strcpy(_______________);

  }

  ~Office(){delete[]depart;}

  const char*theDepartment()const{return depart;}//返回所屬部門

  };

  int main(){

  //**********found**********

  Office_______________;

  cout<<”辦公室房間號(hào):”<

  <<”辦公室長度:”<

  <<”辦公室寬度:”<

  <<”辦公室面積:”<

  <<”辦公室所屬部門:”<

  return 0;

  }

  參考解析:

  (1)returtl length*width;

  (2)Room(the_room_no,the_lengih,the_width)

  (3)depart,the_depart

  (4)an_office(308,5.6,4.8,”會(huì)汁科”)

  三、綜合應(yīng)用題

  43請(qǐng)使用VC6或使用【答題】菜單打開考生目錄proj3下的工程文件proj3,此工程中包含一個(gè)源程序文件proj3.cpp,補(bǔ)充編制c++程序proj3.cpp,其功能是讀取文本文件in.dat中的全部內(nèi)容,將文本存放到doc類的對(duì)象myDoc中。然后將myDoc中的字符序列反轉(zhuǎn),并輸出到文件out.dat中。文件in.dat的長度不大于1000字節(jié)。

  要求:

  補(bǔ)充編制的內(nèi)容寫在“//**********”與“//**********”兩行之間。實(shí)現(xiàn)將myDoc中的字符序列反轉(zhuǎn),并將反轉(zhuǎn)后的序列在屏幕上輸出。不得修改程序的其他部分。

  注意:程序最后已將結(jié)果輸出到文件0ut.dat中,輸出函數(shù)writeToFile已經(jīng)給出并且調(diào)用。

  //proj3.cpp

  #include

  #include

  #include

  using namespace std;

  class doc

  {

  private:

  char*sir;//文本字符串首地址

  int length;//文本字符個(gè)數(shù)

  public:

  //構(gòu)造函數(shù),讀取文件內(nèi)容,用于初始化新對(duì)象,filename是文件名字符串首地址

  doc(char*filename);

  void reverse();//將字符序列反轉(zhuǎn)

  一doc();

  void writeToFile(char*filename);

  };

  doc::doc(char}filename)

  {

  ifstream myFile(filename);

  int len=1001,tmp;

  atr=new char[1en];

  length=0;

  while((trap=myFile.get())!=EOF)

  {

  str[1ength++]=trap;

  }

  str[1ength]=‘\0’;

  myFile.close();

  }

  void doc::reverse(){

  //將數(shù)組atr中的length個(gè)字符中的第一個(gè)字符與最后一個(gè)字符交換,第二個(gè)字符與倒數(shù)第二個(gè)

  //字符交換……

  //*************333*************

  //*************666*************

  }

  doc::~doe()

  {

  delete[]str;

  }

  void doc::writeToFile(char*filename)

  {

  Ofstream outFile(filename);

  outFile<

  outFile.close();

  }

  void main()

  {

  doc myDoc(”in.dat”);

  myDoc.reveme();

  myDoc.writeToFile(”out.dat”);

  }

  參考解析:

  int j,J;//定義兩個(gè)整數(shù)l臨時(shí)變量i.j.

  for(i=0,j=length一1;i

  chartemp=str[i];

  //把str[i]中的值保存在臨時(shí)變量temp

  str[i]=str[j];

  //把Str[j]值賦給Str[i],實(shí)現(xiàn)字符前后替換

  str[j]=temp;

  //把保存在臨時(shí)變量temp中的值再賦值給Str[j]

  }

  【考點(diǎn)分析】

  本題主要考查的是doc類、構(gòu)造函數(shù)、成員函數(shù)和析構(gòu)函數(shù)。

  【解題思路】

  題目要求將myDoc中的字符序列反轉(zhuǎn),在main函數(shù)中我們看到myDoc是doc類,根據(jù)doc類的定義可以知道它是把讀取文件的字符串存到str動(dòng)態(tài)數(shù)組中。reverse函數(shù)實(shí)現(xiàn)將數(shù)組str中的length個(gè)字符中的第一個(gè)字符與最后一個(gè)字符交換,第二個(gè)字符與倒數(shù)第二個(gè)字符交換,依次類推。使用變量i和J,分別表示第一個(gè)字符和最后一個(gè)字符的下標(biāo),定義temp作為中間變量進(jìn)行交換。

【計(jì)算機(jī)二級(jí)《C++》上機(jī)練習(xí)題及答案】相關(guān)文章:

計(jì)算機(jī)二級(jí)《C++》上機(jī)試題及答案08-12

2016計(jì)算機(jī)二級(jí)《C++》上機(jī)練習(xí)題06-09

2016計(jì)算機(jī)二級(jí)C++上機(jī)試題及答案08-02

2016計(jì)算機(jī)二級(jí)《C++》上機(jī)強(qiáng)化練習(xí)題10-21

全國計(jì)算機(jī)二級(jí)《C++》上機(jī)試題及答案08-15

2016計(jì)算機(jī)二級(jí)C++上機(jī)模擬試題及答案07-16

二級(jí)C++上機(jī)沖刺題及答案解析10-10

2017計(jì)算機(jī)二級(jí)《C++》上機(jī)模擬題及答案08-16

全國計(jì)算機(jī)二級(jí)《C++》上機(jī)試題附答案09-16