报名 百分网手机站

计算机二级《C++》非选择题练习

时间:2020-08-27 18:08:45 报名 我要投稿

2016年计算机二级《C++》非选择题练习

  一、基本操作题

  1请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl,此工程中包含一个源程序文件main.cpp,其中有类Book(“书”)和主函数main的定义。程序中位于每个“//ERROR****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是:

  书名:C++语句程序设计总页数:299

  已把“c++语言程序设计”翻到第50页

  已把“c++语言程序设计”翻到第51页

  已把“c++语言程序设计”翻到第52页

  已把“c++语言程序设计”翻到第51页

  已把书合上。

  当前页:0

  注意:只修改每个“//ERROR ***found***”下的那一行,不要改动程序中的其他内容。

  #include

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

  strepy(title,theTitle);

  cout<

  <<”总页数:”<

  }

  ~Book(){delete[]title;}

  bool isClosed()const{return cur_page==0;} //书合上时返回true,否则返回false

  bool isOpen()const{return!isClosed();}//书打开时返回true,否则返回false

  int numOfPages()const{return num_pages;}//返回书的页数

  int currentPage()const{return cur_page;}//返回打开页面的页码

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

  void openAtPage(int page_no)const{ //把书翻到指定页

  cout<

  i“page_nohum_pages){

  tOUt<<”无法翻到第”<

  ClOSe();

  }

  else{

  cur_page=page_n0;

  tout<<”已把“"<

  }

  }

  void openAtPrevPage(){openAtPage(cur page—1);{//把书翻到上一页

  void openAtNextPage(){openAtPage(cur_page+1);}//把书翻到下一页

  void close(){//把书合上

  tout<

  if(isClosed())

  tout<<"书是合上的。";

  else{

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

  num_pages=0;

  cout<<”已把书合上。”;

  }

  cOut<

  }

  };

  int main(){

  Book book(”C++语言程序设计”,299);

  book.openAtPage(50);

  book.openAtNextPage();

  book.openAtNextPage();

  book.openA.tPrevPage();

  book.close();

  tout<<”当前页:”<

  return 0:

  }

  参考解析:

  (1)Book(const char*theTifle,int pages):num_pages(pages)

  (2)void openAtPage(int page—no) //把书翻到指定页

  (3)cur_page=0;