2019年计算机二级考试《C++》高分突破应用试题_第1页
2019年计算机二级考试《C++》高分突破应用试题_第2页
2019年计算机二级考试《C++》高分突破应用试题_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2019 年计算机二级考试 C+ 高分突破应用试题三、简单应用题42请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程 proj2 。此工程中包含一个源程序文件 main.cpp ,其中有“房间” 类Room及其派生出的“办公室”类Office 的定义,还有主函数 main 的定义。请在程序中“ /*found* ”下的横线处填写适当的代码 并删除横线,以实现上述类定义。此程序的准确输出结果应为:办公室房间号: 308办公室长度: 5.6办公室宽度: 4.8办公室面积: 26.88办公室所属部门:会计科注意:只能在横线处填写适当的代码,不要改动程序中的其他内 容,也不要删除或移动“

2、 / 料料 found 料”。#includeusing namespaee std;class Room / “房间”类int room_n0;/ 房间号double length;/ 房间长度 (m)double width;/ 房间宽度 (n1) public :Room(int the room nO, double the length , double the width) :loomno(the roomno), length(the length) , width(the width)int theRoomNo()eonstreturn iDonl nO;返回房间长度返回房间宽

3、度/ 返回房间号double theLength()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 , eonst char 木 the_depart)*found*depart=new charstrle

4、n(the depart)+1;*found*strcpy();Office()deletedepart;返回所const char*theDepartment()constreturn depart;/ 属部门;int main()*found*Office;cout<< ”办公室房间号:”< <<”办公室长度:”< <<”办公室宽度:”< <<”办公室面积:”< <<”办公室所属部门:”<return 0;参考解析:(1) returtl length*width;(2) Room(the_room_

5、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字节。要求:补充编制的内容写在“

6、/*”与“ /* ”两行之间。实现将myDoc中的字符序列反转,并将反转后的序列在屏幕上 输出。不得修改程序的其他部分。注意:程序最后已将结果输出到文件 0ut.dat 中,输出函数 writeToFile 已经给出并且调用。/proj3.cpp#include#include#includeusing namespace std;class docprivate :char*sir;/ 文本字符串首地址int length;/ 文本字符个数public :/ 构造函数,读取文件内容,用于初始化新对象, filename 是文 件名字符串首地址doc(char*filename);void r

7、everse();/ 将字符序列反转 一 doc();void writeToFile(char*filename);doc: doc(charfilename)ifstream myFile(filename);int len=1001 , tmp; atr=new char1en;length=0;while(trap=myFile.get()!=EOF) str1ength+=trap;str1ength= 0' myFile.close();void doc : reverse()/ 将数组 atr 中的 length 个字符中的第一个字符与最后一个字 符交换,第二个字符与倒数

8、第二个/ 字符交换doc::doe()*666* deletestr;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=stri;/ 把 stri 中的值保存有临时变量 tempstri=strj;/ 把 Strj 值赋给 Stri ,实现字符前后替换strj=temp;/ 把保存有临时变量 temp 中的值再赋值给 Strj【考点分析】本题主要考查的是 doc 类、构造函数、成员函数和析构函数。【解题思路】题目要求将myDoc中的字符序列反转,在 main函数中我们看到 myDo(是 doc类,根据doc类的定义能够知道它是把读取文件的字符串 存到 str 动态数组中。 reverse 函数实现将数组 str 中的 length 个字 符中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论