【计算机类职业资格】二级C++分类模拟128及答案解析.doc
《【计算机类职业资格】二级C++分类模拟128及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟128及答案解析.doc(12页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 128 及答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.请使用 VC6 或使用【答题】菜单打开 proj1 下的工程 proj1,该工程中包含程序文件 main.cpp,其中有关 TVSet(“电视机”)和主函数 main 的定义。程序中位于每个“/ ERROR *found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是: 规格:29 英寸,电源:开,频道:5,音量:18 规格:29 英寸,电源:关,频道:-1,音量:-1 注意:只修改每个“/ ERROR *found*”下的那一行,不要改动程序中的
2、其他内容。 #include iostream using namespace std; class TVSet /“电视机”类 const int size; int channel; /频道 int volume; /音量 bool on; /电源开关:true 表示开,false 表示关 public: / ERROR *found* TVSet(int size) this - size(size); channel = 0; volume = 15; on = false; int getSize() const return size; /返回电视机规格 bool isOn() c
3、onst return on; /返回电源开关状态 /返回当前音量,关机情况下返回-1 int getVolume() const return isOn()? volume:-1; /返回当前频道,关机情况下返回-1 int getChannel() const return isOn()? channel: -1; / ERROR *found* void turnOnOff() const /将电源在“开”和“关”之间转换 on=! on; void setChannelTo (int chan) /设置频道(关机情况下无效) if (isOn() void setVolumeTo (i
4、nt vol) /设置音量(关机情况下无效) if(isOn() void show_state() / ERROR *found* cout “规格:“ getSize() “英寸“ “,电源:“ (isOn()? “开“:“关“) “,频道:“ getChannel() “,音量:“ getVolume() endl; ; int main() TVSet tv(29); tv.turnOnOff(); tv.setChannelTo(5); tv.setVolumeTo(18); tv.show_state(); tv.turnOnOff(); tv.show_state(); retu
5、rn 0; (分数:30.00)_二、简单应用题(总题数:1,分数:30.00)2.请使用 VC6 或使用【答题】菜单打开 proj2 下的工程 proj2。该工程中包含一个程序文件 main.cpp,其中有类 Quadritic、类 Root 及主函数 main 的定义。一个 Quadritic 对象表示一个 ax 2 +bx+c 的一元二次多项式。一个 Root 对象用于表示方程 ax 2 +bx+c=0 的一组根,它的数据成员 num_of_roots 有 3 种可能的值,即 0、1 和 2,分别表示根的 3 种情况:无实根、有两个相同的实根和有两个不同的实根。请在程序中的横线处填写适当
6、的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为(注:输出中的 X2 表示 x 2 ): 3X2+4X+5=0.0 无实根 4.5X2+6X+2=0.0 有两个相同的实根:-0.666667 和-0.666667 1.5X2+2X-3=0.0 有两个不同的实根:0.896805 和-2.23014 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“/ *found*”。 #include iostream #include iomanip #include cmath using namespace std; class Root /一元二次方程的根 p
7、ublic: const double x1; /第一个根 const double x2; /第二个根 const int num_of_roots; /不同根的数量:0、1 或 2 /创建一个“无实根”的 Root 对象 Root(): x1 (0.0), x2 (0.0), num_of_roots(0) /创建一个“有两个相同的实根”的 Root 对象 Root (double root) / *found* :_ /创建一个“有两个不同的实根”的 Root 对象 Root (double root1, double root2): x1 (root1), x2 (root2), nu
8、m_of_roots(2) void show() const /显示根的信息 cout “/t/t“; switch(num_of_roots) case 0: / *found* _ case 1: cout “有两个相同的实根:“ x1 “和“ x2; break; default: cout “有两个不同的实根:“ x1 “和“ x2; break; ; class Quadratic /二次多项式 public: const double a,b,c; /分别表示二次项、一次项和常数项等 3 个系数 Quadratic (double a, double b, double c) /
9、构造函数 / *found* :_ Quadratic (Quadratic Quadratic sub (Quadratic x) const /求两个多项式的差 / *found* _ double value (double x) const /求二次多项式的值 return a*x*x+b*x+c; Root root() const /求一元二次方程的根 double delta = b *b - 4 * a * c; /计算判别式 if (delta 0.0) return Root(); if (delta = 0.0) return Root(-b/(2 * a); doubl
10、e sq = sqrt(delta); return Root(-b+sq)/(2 * a), (-b-sq)/(2*a); void show() const /显示多项式 cout endl a “X2“ showpos b “X“ c noshowpos; void showFunction() /显示一元二次方程 show(); cout “=0.0“; ; int main() Quadratic q1(3.0, 4.0, 5.0), q2(4.5, 6.0, 2.0), q3(q2.sub(q1); q1.showFunction(); q1.root().show(); q2.s
11、howFunction(); q2.root().show(); q3.showFunction(); q3.root().show(); cout endl; return 0; (分数:30.00)_三、综合应用题(总题数:1,分数:40.00)3.请使用 VC6 或使用【答题】菜单打开 proj3 下的工程 proj3,其中包含了类 Integers 和主函数 main 的定义。一个 Integers 对象就是一个整数的集合,其中包含 0 个或多个可重复的整数。成员函数 add 的作用是将一个元素添加到集合中,成员函数 remove 的作用是从集合中删除指定的元素(如果集合中存在该元素)
12、,成员函数 sort 的作用是将集合中的整数按升序进行排序。请编写这个 sort 函数。此程序的正确输出结果应为: 5 28 2 4 5 3 2 75 27 66 31 5 28 2 4 5 3 2 75 27 66 31 6 5 28 2 4 5 3 2 75 27 66 31 6 19 5 28 4 5 3 2 75 27 66 31 6 19 5 28 4 5 3 2 75 27 66 31 6 19 4 2 3 4 4 5 5 6 19 27 28 31 66 75 要求: 补充编制的内容写在“/ *333*”与“/ *666*”之间。不得修改程序的其他部分。 注意:相关文件包括:ma
13、in.cpp、Integers.h。 程序最后调用 writeToFile 函数,使用另一组不同的测试数据,将不同的运行结果输出到文件 out.dat 中。输出函数 writeToFile 已经编译为 obj 文件。 /Integers.h #ifndef INTEGERS #define INTEGERS #include iostream using namespace std; const int MAXELEMENTS = 100; /集合最多可拥有的元素个数 class Integers int elem MAXELEMENTS; /用于存放集合元素的数组 int counter;
14、/用于记录集合中元素个数的计数器 public: Integers(): counter(0) /创建一个空集合 Integers (int data, int size); /利用数组提的数据创建一个整数集合 void add (int element); /添加一个元素到集合中 void remove (int element); /删除集合中指定的元素 int getCount() const return counter; /返回集合中元素的个数 int getElement (int i) const return elemi; /返回集合中指定的元素 void sort(); /将
15、集合中的整数按由小到大的次序进行排序 void show() const; /显示集合中的全部元素 ; void writeToFile(const char * path); #endif /main.cpp #include “Integers.h“ #include iomanip Integers:Integers (int data, int size): counter(0) for (int i=0; isize; i+) add(datai); void Integers:add (int element) if(counter MAXELEMENTS) elem counte
16、r + + = element; void Integers:remove(int element) int j; for(j = counter-1; j =0; j-) if(elemj = element) break; for(int i=j; icounter-1; i+) elemi = elemi+1; counter-; void Integers:sort() / *333* / *666* void Integers:show() const for(int i=0; igetCount(); i+) cout setw (4) getElement(i); cout en
17、dl; int main() int d = 5,28,2,4,5,3,2,75,27,66,31; Integers s (d,11); s.show(); s.add(6); s.show(); s.add(19); s.show(); s.remove(2); s.show(); s.add(4); s.show(); s.sort(); s.show(); writeToFile(“ “); return 0; (分数:40.00)_二级 C+分类模拟 128 答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.请使用 VC6 或使用【
18、答题】菜单打开 proj1 下的工程 proj1,该工程中包含程序文件 main.cpp,其中有关 TVSet(“电视机”)和主函数 main 的定义。程序中位于每个“/ ERROR *found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是: 规格:29 英寸,电源:开,频道:5,音量:18 规格:29 英寸,电源:关,频道:-1,音量:-1 注意:只修改每个“/ ERROR *found*”下的那一行,不要改动程序中的其他内容。 #include iostream using namespace std; class TVSet /“电视机”类 const int siz
19、e; int channel; /频道 int volume; /音量 bool on; /电源开关:true 表示开,false 表示关 public: / ERROR *found* TVSet(int size) this - size(size); channel = 0; volume = 15; on = false; int getSize() const return size; /返回电视机规格 bool isOn() const return on; /返回电源开关状态 /返回当前音量,关机情况下返回-1 int getVolume() const return isOn(
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 128 答案 解析 DOC
