[计算机类试卷]国家二级C++机试(操作题)模拟试卷493及答案与解析.doc
《[计算机类试卷]国家二级C++机试(操作题)模拟试卷493及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C++机试(操作题)模拟试卷493及答案与解析.doc(8页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(操作题)模拟试卷 493及答案与解析 一、基本操作题 1 请打开考生文件夹下的解决方案文件 proj1,此工程中含有一个源程序文件proj1 cpp。其中位于每个注释 “ ERROR*found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: NUM=0 Value=1 注意:只修改注释 “ ERROR*found*”的下一行语句,不要改动程序中的其他内容。 proj1 cpp #include lostEeam using namespace std; class MyClass int_i; friend VOid Increment; (MyClass
2、&f); public: const int NUN; ERROR*found* NyClass(int i=0)NUM=0; _i=i; int GetValue( )constreturn_i; ; ERROR*found* void Increment( )f _i+; ) int main( ) HyClass obj; ERROR*found* NyClass: TncEement(ohj); cout “NUN=“ oh3 NUN endl “Value=“ obj GetValLie( ) endl; retuEn0; 二、简单应用题 2 请打开考生文件夹下的解决方案文件 pro
3、j2,该工程中包含一个程序文件main cpp,其中有坐标点类 point、线段类 Line和三角形类 Triangle的定义,还有main函数的定义。程序中两点间距 离的计算是按公式 d= 实现的,三角形面积的计算是按公式 f= 实现的,其中 s= 请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的正确输出结果应为: Side1: 9 43398Side2: 5Side3: 8area: 20注意:只在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动 “*found*”。 #include iostEeam #include cmath using n
4、amespace std; class Point坐标点类 public: const double x, y; Point(double x=0 0,doubley=0 0): x(x), y(y) *found*double distanceTo(_)const到指定点的距离 return sqrt(x-p x)*(x-p x)+(y-p y)*(y-p y); ; class Line线段类 public: const Point p1, p2线段的两个端点 *found*Line(Point p1, Pointp2): _double length( )constreturnp1 di
5、stanceTo(p2); 线段的长度 ; class Triangle三角形类 public: const Point p1, p2, p3;三角形的三个顶点*found*Triangle(_): p1(p1), p2(p2), p3(p3)double lengthl( )const边 p1, p2的长度 return Line(p1, p2) length( ); double length2( )const边 p2, p3的长度 return Line(p2, p3) length( ); double length3( )const边 p3, p1的长度 return Line(p3
6、, p1) length( ); double area( )const三角形面积 *found*double s=_; return sqrt(s*(s-lengthl( )*(s-length2( )*(s-length3( ); ; int main( )Triangle r(Point(0 0, 8 0), Point(5 0, 0 0), Point(0 0, 0 0); cout “Side1: “ r length1( ) endl; cout “Side2: “ r length2( ) endl; cout“Side3: “ r length3( ) endl; cout “
7、area: “ r area( ) endl;return0; 三、综合应用题 3 请打开考生文件夹下的解决方案文件 proj3,其中定义了一个字符串 变量类StringVar。类成员的说明在程序注释中。请在 *333*和*666*之间填写 StringVar成员函数和友元函数的实现代码。在main函数中给出了一组测试数据,运行时输入: Hello Kitty 此情况下程序的输出应该是: Hello Kitty Borg Borg 注意:只需在 *333*和 *666*之间填入 所编写的若干语句,不要改动程序中的其他内容。 StringVar h #include ioStream #incl
8、ude cstdlib #include cstddef #include cstring using namespace std; VOid writeToFile(const char*path); class StringVar public: StringVar(int size);构造函数, size为字符串长度 (字符个数 )初始值;字符串内容初始化为空串 StringVar(const char a );构造函数,用 参数数组 a的内容初始化当前对象 StringVar(const StringVar&strobj);复制构造函数 StringVar( )delete value
9、; ;析构函数 int length( )constreturnstrlen(value); 从输入流 ins输入一个字符串,其中可以包括空格 void input_line(istream&ins); 返回字符串首地址 char*getValue( )constreturn value; private: char*value;字符串首地址 int max_length;字符串最大长度 (字符个数最大值 ) ; 将 the string通过输出流 outs输出 ostream&operator (ostream&outs, const StringVar the_string); main
10、cpp #include iostream #include string #include“StringVar h“ *333* *666* int main( ) StringVar namel(30), name2(“Borg“); name1 input_line(cin); StringVar name3(name2); cout name1 endl; cout name2 endl; cout name3 endl; writeToFile(“ “); return0; writeToFile cpp #include iostream #include fstream #inc
11、lude SStream #include string using namespace std; #include“StringVar h“ void writeToFile(const char*path) char filename30; strcpy(filename, path); strcat(filename, “out dat“); ofstream fout(filename); istringstream is (string(“Jenny Zheng“); StringVar name1(40), name2(“John“); name1 input line(is);
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 机试 操作 模拟 493 答案 解析 DOC
