《C++_全国计算机二级真题(含上机题、答案).pdf》由会员分享,可在线阅读,更多相关《C++_全国计算机二级真题(含上机题、答案).pdf(209页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、V C+全 国 计 算 机 二 级 题 库 第 一 套 请 使 用 VC6打 开 考 生 文 件 夹 下 的 工 程 projl,该 工 程 含 有 一 个 源 程 序 文 件 projl.cpp。其 中 每 个 注 释 ERROR*found*之 后 的 行 有 语 句 存 在 错 误。请 修 改 这 些 错 误,使 程 序 的 输 出 结 果 为:1 2 3 4 5 6 7 8 910注 意:只 需 修 改 注 释/ERROR*found*的 下 行 语 句,不 要 改 动 程 序 中 的 其 它 内 容。/projl.cppin c lu d e using namespace std;
2、class MyClass public:MyClass(int len)array=new intlen;arraySize=len;for(int i=0;i arraySize;i+)arrayi=i+1;)MyClass()/ERROR*found*delete array;void Print()constfor(int i=0;i arraySize;i+)11 ERROR*Qjjp|*co u t arrayi co u t endl;)private:int*array;int arraySize;;int main()11 ERROR*Qgp|*MyClass obj(10)
3、;obj.Print();return 0;)请 使 用 VC6打 开 考 生 文 件 夹 下 的 工 程 proj2,该 工 程 含 有 一 个 源 程 序 文 件 pro.j2.cpp。其 中 定 义 了 类 Bag和 用 于 测 试 该 类 的 主 函数 main。类 Bag是 一 个 袋 子 类,用 来 存 放 带 有 数 字 标 号 的 小 球(如 台 球 中 的 球,在 类 中 用 一 个 整 数 值 表 示 一 个 小 球),其 中 运 算 符 成 员 函 数=用 来 判 断 两 个 袋 子 对 象 是 否 相 同(即 小 球 的 个 数 相 同,每 种 小 球 数 目 也 相
4、同,但 与 它 们 的 存 储 顺 序 无 关):成 员 函 数 in t InBag(int b a ll)用 来 返 回 小 球 b a ll在 当 前 袋 子 内 出 现 的 次 数,返 回 0表 示 该 小 球 不 存 在。为 类 实 现 这 两 个 函 数,其 用 法 可 参 见 主 函 数 main。运 算 符 函 数。perator=中 首 先 判 断 两 个 袋 子 内 的 小 球 个 数 是 否 相 同,再 调 用 InBag函 数 来 判 断 每 种 小 球 在 两 个 袋 子 内 是 否 具 有 相 同 的 出 现 次 数。注 意:只 需 在 指 定 位 置 编 写 适
5、当 代 码,不 要 改 动 程 序 中 的 其 他 内 容,也 不 能 删 除 或 移 动”/*found*0/proj2.cpp#include using namespace std;const int MAXNUM=100;class Bag private:int num;int bagMAXNUM;public:Bag(int m,int n=0);/构 造 函 数 bool operator=(Bag&b);/重 载 运 算 符=int lnBag(int ball);/某 一 小 球 在 袋 子 内 的 出 现 次 数,返 回 0 表 示 不 存 在);Bag:Bag(int m
6、,int n)if(n MAXNUM)cerr Too many membersn;exit(-l);for(int i=0;i n;i+)bagi=mi;num=n;bool Bag:operator=(Bag&b)/实 现 运 算 符 函 数 二 二 if(num!=b.num)/元 素 个 数 不 同 return false;for(int i=0;i num;i+)*found*if(lnBag(bagi)!=b.lnBag(bagi)/T O D O:加 入 条 件,判 断 当 前 袋 子 中 每 个 元 素 在 当 前 袋 子 和 袋 子 b 中 是 否 出 现 次 数 不 同*
7、found*return false;/T O D O:加 入 一 条 语 句 return true;)int Bag:lnBag(int ball)int count=0;for(int i=0;i num;i+)*found*if(bagi=ball)/T O D O:加 入 条 件,判 断 小 球 b a ll是 否 与 当 前 袋 子 中 某 一 元 素 相 同*found*count+;/T O D O:加 入 一 条 语 句 return count;)int main()int dataMAXNUM,n,i;cin n;for(i=0;i n;i+)cin datai;Bag
8、bl(data,n);/cin n;for(i=0;i n;i+)cin datai;Bag b2(data,n);/if(b l=b2)/创 建 袋 子 对 象 b l创 建 袋 子 对 象 b2测 试 b l和 b 2是 否 相 同 cout Bag b l is same with Bag b2n;elsecout Bag b l is not same with Bag b2n;return 0;请 使 用 VC6打 开 考 生 目 录 下 的 工 程 文 件 proj3。此 工 程 包 含 一 个 源 程 序 文 件 proj3.cpp,其 中 定 义 了 用 于 表 示 二 维 向
9、 量 的 类 MyVector;程 序 应 当 显 示:(6,8)但 程 序 中 有 缺 失 部 分,请 按 下 面 的 提 示,把 下 划 线 标 出 的 三 处 缺 失 部 分 补 充 完 整:(1)在*1*found*的 下 方 是 构 造 函 数 的 定 义,它 用 参 数 提 供 的 坐 标 对 x和 y进 行 初 始 化。(2)在*2*found*的 卜 方 是 减 法 运 算 符 函 数 定 义 中 的 一 条 语 句。两 个 二 维 向 量 相 减 生 成 另 个 二 维 向 量:它 的 X坐 标 等 于 两 个 向 量 X的 坐 标 之 差,它 的 Y坐 标 等 于 两 个
10、向 量 Y坐 标 之 差。(3)在*3*found*的 下 方 的 语 句 的 功 能 是 使 变 量 v3获 得 新 值,它 等 于 向 量 vl与 向 量 v2之 和。注 意:只 需 在 指 定 位 置 编 写 适 当 的 代 码,不 要 改 动 程 序 中 的 其 它 内 容,也 不 能 删 除 或 移 动*found*。/proj3.cpp#includeusingusingusingstd:ostream;std:cout;std:endl;class MyVectordouble x;double y;public:表 示 二 维 向 量 的 类 X坐 标 值/Y坐 标 值 MyV
11、ector(double i=0.0,double j=0.0);MyVector operator+(MyVector j);friend MyVector operator-(MyVector i,MyVector j);构 造 函 数 重 投 运 算 符+重 载 运 算 符-friend ostream&operator(ostream&os,My Vector v);/重 载 运 算 符);/*I*found*MyVector:MyVector(double i,double j):x(i),y(j)MyVector MyVector:operator+(MyVector j)retu
12、rn MyVector(x+j.x,y+j.y);)MyVector operator-(MyVector i,MyVector j)/*2*found*return MyVector(i.x-j.x,i.y-j.y);)ostream&operator(ostream&os,MyVector v)os(v.x*,1 v.y*)*;输 出 向 量 v的 坐 标 return os;)int mainOMyVector vl(2,3),v2(4,5),v3;/*3*found*v3=vl+v2;coutv3endl;return 0;)第 二 套 请 使 用 VC6打 开 考 生 文 件 夹 下
13、 的 工 程 projl,该 工 程 含 有 一 个 源 程 序 文 件 projl.cppo其 中 位 于 每 个 注 释“ERROR*found*之 后 的 行 语 句 存 在 错 误。请 修 正 这 些 错 误,使 程 序 的 输 出 结 果 为:Constructor called of 10The value is 10Descructor cal led of 10注 意:只 需 要 修 改 注 释 7/ERROR*found*的 卜.一 行 语 句,不 要 改 动 程 序 中 的 其 它 内 容。/projl.cpp#include using namespace std;cla
14、ss MyClass public:MyClass(int i)(value=i;cout*Constructor cal led of value endl;)/ERROR*found*void Print()const cout”The value is value endl;/ERROR*found*MyClass()cout/zDes true tor cal led of value endl;private:/ERROR*found*int value;);int main()(const MyClass obj(10);obj.Print();return 0;)凡 用 过 C语
15、 言 标 准 库 函 数 strcpy(char*sl,char*s2)的 程 序 员 都 知 道 使 用 该 函 数 时 有 一 个 安 全 隐 患,即 当 指 针 si所 指 向 的 空 间 不 能 容 纳 字 符 串 s2的 内 容 时,将 发 生 内 存 错 误。类 String的 Strcpy成 员 函 数 能 进 行 简 单 的 动 态 内 存 管 理,其 内 存 管 理 策 略 为:(1)若 已 有 空 间 能 容 纳 下 新 字 符 串,则 直 接 进 行 字 符 串 拷 贝;(2)若 已 有 空 间 不 够 时,它 将 重 新 申 请 一 块 内 存 空 间(能 容 纳 下
16、新 字 符 串),并 将 新 字 符 串 内 容 拷 贝 到 新 申 请 的 空 间 中,释 放 原 字 符 空 间。请 使 用 VC6打 开 考 生 文 件 夹 下 的 工 程 proj2,该 工 程 含 有 一 个 源 程 序 文 件 proj2.cpp。其 中 定 义 了 类 String和 用 于 测 试 该 类 的 主 函 数 main,并 且 成 员 函 数 Strcpy的 部 分 实 现 代 码 已 在 该 文 件 中 给 出,请 在 标 有 注 释*found*行 的 卜 一 行 添 加 适 肖 的 代 码,将 这 个 函 数 补 充 完 整,以 实 现 其 功 能。注 意:只
17、 需 在 指 定 位 置 编 写 适 当 代 码,不 要 改 动 程 序 中 的 其 它 内 容,也 不 能 删 除 或 移 动/*found*“o/proj2.cpp#include using namespace std;class String private:int size;/缓 冲 区 大 小 char*buf;/缓 冲 区 public:String(int bufsize);void Strcpy(char*s);/将 字 符 串 s复 制 到 buf中 void Print()const;String()if(buf!=NULL)delete buf;;String:Stri
18、ng(int bufsize)(size=bufsize;buf=new chartsize;*buf=0;)void String:Strcpy(char*s)(char*p,*q;int len=strlen(s);if(len+1 size)size=len+1;p=q=new charsize;/*ourid*while(*(q+)=*(s+);/TODO:添 加 代 码 将 字 符 串 s拷 贝 到 字 符 指 针 q中delete buf;buf=p;)else*found*for(p=buf;*p=*s;p+,s+);/TODO:添 加 代 码 将 字 符 串 s拷 贝 到 bu
19、f中)void String:Print()const(cout size t buf endl;)int main()(char s100;String str(32);cin.getl ine(s,99);str.Strcpy(s);str.Print();return 0;)请 使 用 VC6打 开 考 生 目 录 下 的 工 程 文 件 proj3。此 工 程 包 含 一 个 源 程 序 文 件 proj3.cpp,其 中 定 义 了 用 于 表 示 平 面 坐 标 系 中 的 点 的 类 myPoinl和 表 示 三 角 形 的 类 MyTriangle;程 序 运 行 后 应 当
20、显 示:6.828432但 程 序 中 的 缺 失 部 分,请 按 卜 一 面 的 提 示,把 卜.划 线 标 出 的 三 处 缺 失 部 分 补 充 完 整:(1)在/*found*的 下 方 是 构 造 函 数 的 定 义,它 参 数 提 供 的 三 个 顶 点 对 point 1、point2和 point3进 行 初 始 化。(2)在*2*1ound*的 下 方 是 成 员 函 数 per i me I er的 定 义,该 函 数 返 叵 三 角 形 的 周 长。(3)在*3*found*的 卜 方 是 成 员 函 数 area的 定 义 中 的 一 条 语 句。函 数 area返 回
21、 三 角 形 的 面 积。方 法 是:若 a、b、c为 三 角 形 的 三 个 边 长,并 令 s=(a+b+c)/2,则 三 角 形 的 面 积 A为 A二 sqrt(s*(s-a)*(s-b)*(s-c)(其 中 sqrl表 示 开 二 次 方)注 意:只 需 在 指 定 位 置 编 写 适 当 代 码,不 要 改 动 程 序 中 的 其 它 内 容,也 不 能 删 除 或 移 动”/*found*“o/proj3.cppttincl ude#includeusing namespace std;class MyPoint(表 示 平 面 坐 标 系 中 的 点 的 类 double x;
22、double y;public:MyPoint(double x,double y)this-x=x;this-y=y;double getX()const return x;double getY()const return y;void show()const cout,(*x*,;);class MyTrianglefMyPointMyPointMyPointpublic:pointl;point2;point3;表 示 三 角 形 的 类 三 角 形 的 第 一 个 顶 点 三 角 形 的 第 二 个 顶 点 三 角 形 的 第 三 个 顶 点 MyTriangle(MyPoint p
23、l,MyPoint p2,MyPoint p3);double perimeter()const;返 回 三 角 形 的 周 长double area()const;返 回 三 角 形 的 面 积);/*1*fQund*MyTriangle:MyTriangle(MyPoint pl,MyPoint p2,MyPoint p3):point1(pl),point2(p2),point3(p3)double di stance(MyPoint pl,MyPoint p2)返 回 两 点 之 间 的 距 离(return sqrt(pl.getX()-p2.getX()*(pl.getX()-p2
24、.getX()+(pl.getY()-p2.getY()*(pl.getY()-p2.getY();)/*2*found*double MyTriangle:perimeter()const(return distance(pointl,point2)+distance(point2,point3)+distance(point3,pointl);)double MyTriangle:area()const/*Found*double s=perimeter0/2;/使 用 perimeter函 数 return sqrt(s*(s-distance(pointl,poin)*(s-dista
25、nce(point2,point3)*(s-distance(point3,pointl);)int main()(MyTriangle tri(MyPoint(0,2),MyPoint(2,0),MyPoint(0,0);couttri.perimeter()endltri.area()endl;return 0;)第 三 套 请 使 用 VC6打 开 考 生 文 件 夹 下 的 工 程 projl,”工 程 含 有 一 个 源 程 序 文 件 projl.cpp.其 中 位 于 每 个 注 释 ERROR*found*之 后 的 一 行 语 句 存 在 错 误。请 修 正 这 些 错 误,
26、使 程 序 的 输 出 结 果 为:There are 2 object(s).注 意:只 需 要 修 改 注 释 ERROR*found*”的 下 一 行 语 句,不 要 改 动 程 序 U 的 其 它 内 容。/projl.cppin clu d e using namespace std;class MyClass public:ERROR*found*MyClass(int i=0):value(i)count+;void Print()cout There are count object(s).endl;private:const int value;static int coun
27、t;11 ERROR*found*int MyClass:count=0;int main()MyClass o b jl,obj2;ERROR*found*objl.Print();return 0;请 使 用 VC6打 开 考 生 文 件 夹 下 的 工 程 proj2,该 工 程 含 有 一 个 源 程 序 文 件 proj2.cpp。其 中 定 义 了 模 板 函 数 insert(Tdataset,int&size,T item)和 主 函 数 main。模 板 函 数 insert用 来 将 一 个 数 据 item插 入 到 一 个 已 排 好 序(升 序)的 数 据 集 dat
28、aset中,其 中 类 型 T可 以 为 int,double,char等 数 据 类 型,size为 当 前 数 据 集 中 元 素 的 个 数,当 插 入 操 作 完 成 后,size值 将 更 新。模 板 函 数 insert的 部 分 实 现 代 码 已 在 文 件 proj2.cpp中 给 出,请 在 标 有 注 释 TODO:的 行 中 添 加 适 当 的 代 码,将 运 算 符 函 数 的 operator-补 充 完 整,以 实 现 其 功 能。注 意:只 需 在 指 定 位 置 编 写 适 当 代 码,”/*found*“o不 要 改 动 程 序 中 的 其 它 内 容,也
29、不 能 删 除 或 移 动/proj2.cppin clu d e using namespace std;请 在 该 部 分 插 入 insert函 数 模 板 的 实 现 template void insert(T setdata,int&size,T item)for(int i=0;i item)/T O D O:添 加 代 码,判 断 查 找 元 素 的 插 入 位 置 for(int j=i;j size;j+)/*found*setdatasize-j+i=setdatasize-j+i-l;后 移 动 一 个 位 置/T O D O:添 加 一 条 语 句,将 插 入 位 置
30、 后 的 所 有 元 素 往/提 示:移 动 元 素 应 从 最 后 一 个 元 素 开 始 移 动 setdatai=item;/插 入 该 元 素 size+;return;/*found*setdatai=item;/T O D O:添 加 一 条 语 句,将 元 素 加 到 最 后 一 个 位 置 上 size+;return;int main()(int idata10=22,35,56,128,iitem,isize=4,dsize=4,i;double ddata10=25.1,33.5,48.9,75.3,ditem;cout Please input one integer
31、number for inserting:;cin iitem;insert(idata,isize,iitem);for(i=0;i isize;i+)cout idatai cout endl;cout Please input one double number for inserting:;cin ditem;insertfddata,dsize,ditem);for(i=0;i dsize;i+)cout ddatai cout endl;return 0;请 使 用 VC6打 开 考 生 目 录 下 的 工 程 文 件 proj3。此 工 程 包 含 一 个 源 程 序 文 件 p
32、roj3.cpp,其 中 定 义 了 用 于 表 示 平 面 坐 标 中 的 点 的 类 MyPoint和 表 示 线 段 的 类 MyLine;程 序 应 当 显 示:(0,0)(1,1)1.41421,1但 程 序 中 的 缺 失 部 分,清 按 下 面 的 提 示,把 下 划 线 标 出 的 三 处 缺 失 部 分 补 充 完 整:(1)在*1*found*的 下 方 是 构 造 函 数 的 定 义,它 用 参 数 提 供 两 个 端 点 对 po i n11和 po i n12进 行 初 始 化。(2)在*2*found*的 下 方 是 成 员 函 数 1 ength的 定 义,它 返
33、 回 线 段 的 长 度。(3)在*3*found*的 卜 方 是 成 员 函 数 slope的 定 义 中 的 一 条 语 句。函 数 slope返 回 线 段 的 斜 率,方 法 是:若 线 段 的 两 个 端 点 分 别 是(xl,yl)和(x2,y2),则 斜 率 k为:k=(y2-yl)/(x2-xl)注 意:只 需 在 指 定 位 置 编 写 适 当 代 码,不 要 改 动 程 序 中 的 其 它 内 容,也 不 能 删 除 或 移 动*found*“o/proj3.cpp#include#includeusing namespace std;class MyPoint 表 示 平
34、 面 坐 标 系 中 的 点 的 类 double x;double y;public:MyPoint(double x,double y)this-x=x;this-y=y;double getX()const return x;double getY()const return y;void show()const c o u t,(,x/,y););class MyLine 表 示 线 段 的 类 MyPoint pointl;MyPoint point2;public:MyLine(MyPoint p l,MyPoint p2);MyPoint endPointl()const ret
35、urn pointl;MyPoint endPoint2()const return point!;double length()const;double slope()const;);*found*返 回 端 点 1 返 回 端 点 2 返 回 线 段 的 长 度 返 回 直 线 的 斜 率 MyLine:MyLine(MyPoint p l,MyPoint p2):pointl(pl),point2(p2)I y*2*QU|J*double MyLine:length()constreturn sqrt(pointl.getX()-point2.getX()*(pointl.getX()-
36、point2.getX()+(pointl.getY()-point2.getY()*(pointl.getY()-point2.getY();double MyLine:slope()const*3*found*return(point2.getY()-pointl.getY()/(point2.getX()-pointl.getX();int main()MyLine line(MyPoint(0,0),MyPoint(l,l);line.endPointl().show();line.endPoint2().show();co u t en d l lin e.le n gth()7 l
37、in e.slo p e()e n d l;return 0;)第 四 套 请 使 用 答 题 菜 单 或 使 用 VC6打 开 考 生 文 件 夹 下 的 工 程 projl,该 工 程 含 有 一 个 源 程 序 文 件 projl.cppo其 中 每 个 注 释 ERROR*found*之 后 的 一 行 语 句 存 在 错 误。请 改 正 这 些 错 误,使 程 序 的 输 出 结 果 为:The value is 10注 意:只 需 修 改 注 释/ERROR*found*”的 下 一 行 语 句,不 要 改 动 程 序 中 的 其 他 内 容。/projl.cpp#include
38、using namespace std;class MyClass int value;public:1 1 ERROR*found*MyClass(int v a l):value(val)int GetValue()const return value;void SetValue(int val););/ERROR*found*inline void MyClass:SetValue(int val)value=val;int main()MyClass obj(O);obj.SetValue(lO);/ERROR*fo11nd*下 列 语 句 功 能 是 输 出 o b j的 成 员 v
39、 a lu e的 值 cout The value is obj.GetValue()endl;return 0;请 使 用 答 题 菜 单 或 使 用 VC6打 开 考 生 文 件 夹 下 的 工 程 文 件 proj2,该 工 程 含 有 一 个 源 程 序 文 件 proj2.cpp,其 中 定 义 了 CharShape类、Triangle类 和 Rectangle类。CharShape是 个 抽 象 基 类,它 表 示 由 字 符 组 成 的 图 形(简 称 字 符 图 形),纯 虚 函 数 Show用 作 显 示 不 同 字 符 图 形 的 相 同 操 作 接 口。Triangle
40、和 Rectangle是 CharShape的 派 生 类,它 们 分 别 用 于 表 示 字 符 三 角 形 和 字 符 矩 形,并 且 都 定 义 了 成 员 函 数 Show,用 于 实 现 各 自 的 显 示 操 作。本 程 序 的 正 确 输 出 结 果 为:*#请 先 阅 读 程 序,分 析 输 出 结 果,然 后 根 据 下 列 要 求 在 横 线 处 填 写 适 当 的 代 码 并 删 除 横 线。(1)将 Triangle类 的 成 员 函 数 Show补 充 完 整,使 字 符 三 角 形 的 显 示 符 合 输 出 结 果。(2)将 Rectangle类 的 成 员 函
41、数 Show补 充 完 整,使 字 符 矩 形 的 显 示 符 合 输 出 结 果。(3)为 类 外 函 数 fun添 加 合 适 的 形 参。注 意:只 需 在 指 定 位 置 编 写 适 当 的 代 码,不 要 改 动 程 序 中 其 它 内 容,也 不 能 删 除 或 移 动*found*。/proj2.cppin clu d e using namespace std;class CharShape public:CharShape(char c h):_ch(ch);virtual void Show()=0;protected:char_ch;/组 成 图 形 的 字 符;clas
42、s Triangle:public CharShape public:Triangle(char ch,int r):CharShape(ch),_rows(r)void Show();private:int _rows;/行 数);class Rectangle:public CharShape public:Rectangle(char ch,int r,int c):CharShape(ch),_rows(r),_cols(c)void Show();private:int _rows,_cols;/行 数 和 列 数);void Triangle:Show()/输 出 字 符 组 成
43、的 三 角 形(for(int i=1;i=_rows;i+)*found*for(int j=1;j=i+i-1;j+)cout _ch;cout endl;void Rectangle:Show()/输 出 字 符 组 成 的 矩 形*found*for(int i=1;i=_rows;i+)*found*for(int j=1;j=_cols;j+)cout _ch;cout endl;/*found*为 fun 函 数 添 加 形 参 void fun(CharShape&cs)cs.Show();int main()Triangle triC*,4);Rectangle rectf#
44、1,3,8);fun(tri);fun(rect);return 0;)请 使 用 答 题 菜 单 或 使 用 VC6打 开 考 生 文 件 夹 下 的 工 程 文 件 proj3,此 工 程 包 含 一 个 源 程 序 文 件 proj3.cpp,补 充 编 制 C+程 序 proj3.cpp,其 功 能 是 从 文 本 文 件 in.dat中 读 取 全 部 内 容,将 文 本 存 放 到 doc类 的 对 象 myDoc中。然 后 分 别 统 计 26个 英 文 字 母 在 文 本 中 出 现 的 次 数,统 计 时 不 区 分 大 小 写。最 后 将 统 计 结 果 输 出 到 文 件
45、 out.dat中。文 件 in.dat长 度 不 超 过 1000字 节。要 求:补 充 编 制 的 内 容 写 在/*333*与/*666*两 行 之 间。实 现 分 别 统 计 26个 英 文 字 母 在 文 本 中 出 现 的 次 数,并 将 统 计 结 果 在 屏 幕 输 出,格 式 不 限。不 得 修 改 程 序 的 其 它 部 分。注 意:程 序 最 后 已 经 将 结 果 输 出 到 文 件 oul.dat中。输 出 函 数 writeToFile已 经 给 出 并 且 调 用。/proj3.cpp#include#include#includeusing namespace
46、std;class doc(private:char*str;文 本 字 符 串 首 地 址 int counter26;用 于 存 放 2 6个 字 母 的 出 现 次 数 int length;文 本 字 符 个 数 public:构 造 函 数,读 取 文 件 内 容,用 于 初 始 化 新 对 象。filenam e是 文 件 名 字 符 串 首 地 址。doc(char*filename);void count();统 计 2 6个 英 文 字 母 在 文 本 中 出 现 的 次 数,统 计 时 不 区 分 大 小 写。doc();void writeToFile(char.file
47、name););doc:doc(char*filename)(ifstream myFile(filename);int len=1001,tmp;str=new charlen;length=0;while(tmp=myFile.get()!=EOF)(strlength+=tmp;strlength=O,;myFile.close();for(int i=0;i26;i+)counteri=0;void doc:count()(char*s=str;int index;while(*s)(if(*s=,a&*s=,A&*s=a?*s-a:*s-A;counterindex+;)s+;for
48、(int i=0;i26;i+)cout(char)(a+i):counteriy/*ggg*doc:doc()(delete str;void doc:writeToFile(char*filename)(ofstream outFile(filename);for(int i=0;i26;i+)outFilecounteriendl;outFile.close();)void main()(doc myDoc(nin.dat);myDoc.count();myDoc.writeToFile(out.dat);)第 五 套 请 使 用 答 题”菜 单 或 使 用 VC6打 开 考 生 文 件
49、 夹 下 的 工 程 projl,该 工 程 含 有 个 源 程 序 文 件 projl.cpp。其 中 位 于 每 个 注 释 ERROR*found*之 后 的 一 行 语 句 存 在 错 误。请 改 正 这 些 错 误,使 程 序 的 输 出 结 果 为:(4,4)注 意:只 需 修 改 注 释 ERROR*found*”的 下,行 语 句,不 要 改 动 程 序 中 的 其 他 内 容。/projl.cppin clu d e using namespace std;class Point public:/ERROR*found*Point(double x,double y):_x(
50、x),_y(y)double GetX()const return _ x;double GetY()const return _ y;/ERROR*found*void Move(double xOff,double yOff)_x+=xOff;_y+=yO ff;protected:double _x,_y;);int main()(Point pt(l.5,2.5);pt.Move(2.5,1.5);/ERROR*found*以 下 语 句 输 出 pt 成 员 _x 和 _y 的 值 cout(pt.GetX()/pt.GetY()endl;return 0;请 使 用”答 题 菜 单