首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoe中。然后分别统
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoe中。然后分别统
admin
2015-06-27
37
问题
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoe中。然后分别统计26个英文字母在文本中出现的次数,统计时不区分字母大小写。最后将统计结果输出到文件out.dat中。文件in.dat长度不大于1000字节。
要求:
补充编制的内容写在“//**********333**********”
与“//**********666**********”之间。实现分别统计26个英文字母在文本中出现的次数,并将统计结果在屏幕上输出。统计时不区分字母大小写,输出不限格式。不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中,输出函数writeToFile已经给出并且调用。
//proj3.cpp
#include
#include
#include
usingnamespacestd;
classdoc
{
private:
char*str;//文本字符串首地址
intcounter[26];//用于存放26个字母的出现次数
intlength;//文本字符个数
public:
//构造函数,读取文件内容,用于初始化新对象。filename是文件名字符串首地址。
doc(char*filename);
voidcount();//统计26个英文字母在文本中出现的次数,统计时不区分大小写。
~doc();
voidwriteTOFile(char*filename);
};
doc::doc(char*fiIename)
{
ifstreammyFile(fiIename);
intlen=1001,tmp;
str=newchar[len];
length=0;
while((tmp=myFile.get())!=EOF)
{
str[length++]=tmp;
}
str[length]=’\0’;
myFile.close();
for(inti=0;i<26;i++)
counter
=0;
}
//*************333***********
//*************666***********
doc::~doc()
{
delete[]str;
}
voiddoc::writeToFile(char*
filename)
{
ofstreamoutFile(filename);
for(inti=0;i<26;i++)
outFile<
<
outFile.close();
}
voidmain()
{
docmyDoc("");
myDoc.count();
myDoc.writeToFile("");
}
选项
答案
void doc::count() { for (int i = 0; i < length; i++) { if(str[i]>=’a’ && str[i]<=’z’) counter[str[i]-’a’]++; if(str[i]>=’A’ && str[i]<=’Z’) counter[str[i]-’A’]++; } for (int index = 0; index < 26; ++index) cout<< (char)(index + 65)<< " or "<< (char)(index + 97) << " 出现的次数是:"<< counter[index]<< endl; }
解析
主要考查考生对统计字母的掌握,首先要判断该字符是否为字母,即为字符的ASCⅡ码大于等于a,小于等于z时,为小写字母,当大于等于A,小于等于Z时,为大写字母,则用于计量该字母出现次数的元素值加1。如何确定计量字母次数的元素下标是本题的难点,当字母为小写字母时,用该字母的ASCⅡ码减于a的ASCⅡ码,当字母为大写时,用该字母的ASCⅡ码减于A的ASCⅡ码,即可得到计量该字母的元素下标。
转载请注明原文地址:https://kaotiyun.com/show/lIBD777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
简述墨西哥卡德纳斯改革的主要内容及其历史意义。(东北师范大学1999年世界现代史真题;南京大学2006年加试世界近现代史真题)
简述福特制和美国工业主义的特征。(北京大学2017年世界史真题)
简述《蒙巴顿方案》的主要内容。(东北师范大学2000年世界现代史真题)
计算两次考试成绩(X、Y)的相关系数。
简述统计假设检验中两类错误的定义及其关系。
如果依据统计方法的功能进行分类的话,统计学可以分为()
“认为衡量课程实施成功与否的根本标准是在课程实施过程中实现预定的课程计划的程度。实现程度高,则课程实施成功;实现程度低,则课程实施失败”,这种课程实施取向属于()
关于“描述性定义”“规定性定义”和“纲领性定义”,下列说法正确的是
公司与债权人签订保护性条款,虽然限制了公司的经营活动,但可以降低破产成本。最终会提高公司的价值。()
我国环境保护法包括()。
随机试题
卡托普利抗心衰作用的机制是()
A、肝经B、心经C、肺经D、大肠E、肾经补阳药主归()
夏普比率数值越大,代表()。
在试算平衡表中,左右方合计金额不相等的项目是()。
个案研究的资料收集有其特色,这些特色有()。
班主任赵老师经常运用表扬、奖励、批评和处分等方式引导和促进学生品德积极发展,这种方法属于()。
关于“师爱”,下列正确的说法是()。
Novell网是目前市场占有率最高的微机局域网,它的成功在于其优秀的网络操作系统【 】。
—Excuseme,whereis______shop?—It’soverthere,justacrossthestreet.
Eachofthemechanicaldevices______itstaskasthoughnothing______wrong.
最新回复
(
0
)