[计算机类试卷]国家二级C++机试(操作题)模拟试卷286及答案与解析.doc
《[计算机类试卷]国家二级C++机试(操作题)模拟试卷286及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C++机试(操作题)模拟试卷286及答案与解析.doc(9页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(操作题)模拟试卷 286及答案与解析 一、基本操作题 1 请使用 VC6或使用【答题】菜单打开考生文件夹 proj1下的工程 proj1,此工程中包含一个源程序文件 main cpp,其中有类 Book(“书 ”)和主函数 main的定义。程序中位于每个 “ ERROR *found*”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: 书名: C语句程序设计总页数: 299 已把 “C语言程序设计 ”翻到第 50页 已把 “C语言程序设计 ”翻到第 51页 已把 “C语言程序设计 ”翻到第 52页 已把 “C语言程序设计 ”翻到第 51页 已把书合上。 当前页:
2、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) hum_pages(pages) title new char strlen(theTitle) 1; strcpy(title, theTitle); cout
3、end1 “书名: “ title “总页数: “ num_pages; Book()(deletetitle; bool isClosed()const(returncur_page 0; 书合上时返回 true,否则返回false bool isopen()constreturn!isClosed(); 书打开时返回 true,否则返回 false int numOfpages()const( return num_pages; 返回书的页数 int currentPage()const return cur_page; ) 返回打开页面的页码 ERROR*found* void open
4、AtPage(int page_no) const 把书翻到指定页 cout end1; if(page_no 1 page_no num_pages) cout “无法翻到第 “ cur_page “页。 “; close(); else cur_page page_no; cout “已把 “ title “”翻到第 “ cur page “页 “; void openAtPreVPage() openAtPage(cur_page 1); )把书翻到上一页 void openAtNextPage() openAtPage(cur_page 1); )把书翻到下一页 void close(
5、)把书合上 cout end1; if(isClosed() cout “书是合上的。 “; else ERROR*found* num pages 0; cout “已把书合上。 “; cout end1; ; int main() Book book(“C语言程序设计 “, 299); book 0penAtPage(50); book 0penAtNextPage(); book openAtNextPage(); book 0penAtPreVPage(); book close(); cout “当前页: “ book currentPage() end1; return 0; 二、
6、简单应用题 2 请使用 VC6或使用【答题】菜单打开考生文件夹 proj2下的工程 proj2。此工程中包含一个源程序文件 main epp,其中有 “房间 ”类 Room及其派生出的 “办公室 ”类 Office的定义,还有主函数 main的定义。请在程序中 “ *found*”下的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 办公室房间号: 308 办公室长度: 5 6 办公室宽度: 4 8 办公室面积: 26 88 办公室所属部门:会计科 注意:只 能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动 “ *found*”。 #includ
7、e iostream using namespace std; class Room “房间 ”类 int room_no; 房间号 double length;房间长度 (m) double width; 房间宽度 (m) public: Room(int the_room_no, doublethe_length, double the_width):room_no(the_room_no), length (the_length), width(the_width) int theRoomNo()constreturnroom_no; ) 返回房间号 double theLength()
8、constreturn length; ) 返回房间长度 double theWidth()constreturn width; 返回房间宽度 *found* double theArea()const_返回房间面积 (矩形面积 ) ; class Office: public Room “办公室 ”类 char *depart; 所属部门 public: Office(int the_room_no, double the_length, double the_width, const char *the depart) *found* : _ depart new charl strlen
9、(the_epart) 1; *found* strcpy(_); Office()deletedepart; const char *theDepartment() constreturn depart; )返回所属部门 ; int main() *found* Office_; cout “办公室房间号: “ an_ office theRoomNo() end1 “办公室长度: n an office theLength() end1 “办公室宽度: “ an_office theWidth() end1 “办公室面积: “ an_office。 theArea() end1 “办公室所
10、属部门: “ an_ofrice theDepartment() end1; retttm 0; 三、综合应用题 3 请使用 VC6或使用【答题】菜单打开考生文件夹 proj3下的工程文件 proj3。本题创建一个小型字符串类,字符串长度不超过 100。程序文件包括 proj3 h、proj3 cpp、 writeToFile obj。补充完成重载赋值运算符函数,完成深复制功能。 屏幕上输出的正确结果应该是: Hello! Happy new year! 要求: 补充编制的内容写在 “ *333*”与“*666*”两行之间。不得修改程序的其他部分。 注意: 程序最后调用 writeToFile
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 机试 操作 模拟 286 答案 解析 DOC
