<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            試題

            計算機二級《C++》上機練習題及答案

            時間:2025-02-23 21:46:01 試題 我要投稿
            • 相關推薦

            2016計算機二級《C++》上機練習題及答案

              一、基本操作題

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

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

              #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);

              二、簡單應用題

              2請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2。此工程中包含一個源程序文件main.cpp,其中有“房間”類Room及其派生出的“辦公室”類0ffice的定義,還有主函數main的定義。請在程序中“//****found****”下的橫線處填寫適當的代碼并刪除橫線,以實現上述類定義。此程序的正確輸出結果應為:

              辦公室房間號:308

              辦公室長度:5.6

              辦公室寬度:4.8

              辦公室面積:26.88

              辦公室所屬部門:會計科

              注意:只能在橫線處填寫適當的代碼,不要改動程序中的其他內容,也不要刪除或移動“///料料found••料”。

              #include

              using namespaee std;

              class Room{ //“房間”類

              int room_n0;//房間號

              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;}

              //返回房間號

              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<<”辦公室房間號:”<

              <<”辦公室長度:”<

              <<”辦公室寬度:”<

              <<”辦公室面積:”<

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

              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,”會汁科”)

              三、綜合應用題

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

              要求:

              補充編制的內容寫在“//**********”與“//**********”兩行之間。實現將myDoc中的字符序列反轉,并將反轉后的序列在屏幕上輸出。不得修改程序的其他部分。

              注意:程序最后已將結果輸出到文件0ut.dat中,輸出函數writeToFile已經給出并且調用。

              //proj3.cpp

              #include

              #include

              #include

              using namespace std;

              class doc

              {

              private:

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

              int length;//文本字符個數

              public:

              //構造函數,讀取文件內容,用于初始化新對象,filename是文件名字符串首地址

              doc(char*filename);

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

              一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(){

              //將數組atr中的length個字符中的第一個字符與最后一個字符交換,第二個字符與倒數第二個

              //字符交換……

              //*************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;//定義兩個整數l臨時變量i.j.

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

              chartemp=str[i];

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

              str[i]=str[j];

              //把Str[j]值賦給Str[i],實現字符前后替換

              str[j]=temp;

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

              }

              【考點分析】

              本題主要考查的是doc類、構造函數、成員函數和析構函數。

              【解題思路】

              題目要求將myDoc中的字符序列反轉,在main函數中我們看到myDoc是doc類,根據doc類的定義可以知道它是把讀取文件的字符串存到str動態數組中。reverse函數實現將數組str中的length個字符中的第一個字符與最后一個字符交換,第二個字符與倒數第二個字符交換,依次類推。使用變量i和J,分別表示第一個字符和最后一個字符的下標,定義temp作為中間變量進行交換。

            【計算機二級《C++》上機練習題及答案】相關文章:

            計算機二級《C++》上機試題及答案08-12

            2016計算機二級《C++》上機練習題06-09

            2016計算機二級C++上機試題及答案08-02

            2016計算機二級《C++》上機強化練習題10-21

            全國計算機二級《C++》上機試題及答案08-15

            2016計算機二級C++上機模擬試題及答案07-16

            二級C++上機沖刺題及答案解析10-10

            2017計算機二級《C++》上機模擬題及答案08-16

            全國計算機二級《C++》上機試題附答案09-16

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院