首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char* s),该函数完成以下功能: (1)把s中的大写字母转换成小写字母,把其中的小写字母转换成大写字母。并且在函数中调用写函数WriteFile()将结果输出到modi2.t
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char* s),该函数完成以下功能: (1)把s中的大写字母转换成小写字母,把其中的小写字母转换成大写字母。并且在函数中调用写函数WriteFile()将结果输出到modi2.t
admin
2021-06-10
50
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char* s),该函数完成以下功能:
(1)把s中的大写字母转换成小写字母,把其中的小写字母转换成大写字母。并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。
例如:s="helloTEST",则结果为:s="HELLOtest"
(2)完成函数WriteFile(char* s),把字符串输入文件中。
提示:打开文件使用的第二参数为ios_base::binary|ios_base::app。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
#include<iostream>
#include<fstream>
#inchde<cmath>
using namespace std;
void WriteFile(char* s)
{
}
void fun(char* s)
{
}
void ClearFile()
{
ofstream out1;
out 1.open("modi2.txt");
out1.close();
}
intmain()
{
ClearFile();
char s[1024];
cout<<"please input a string:"<<endl;
cin.getline(s,1024);
fun(s);
return 0;
}
选项
答案
(1)void WriteFile(char*s)中的命令语句: ofstream out1; out1.open("modi2.txt",ios_base::binary|ios_base::app);,/打开文件modi2 out1<<s; //写入字符串s out1.close(); (2)void fun(char*s)中的命令语句: for(int i=0;s[i]!=0;i++) //循环判断每一个字符 { if(s[i]>=’A’&&s[i]<=’Z’) //如果是大写字符,转换为小写字符 { s[i]=s[i]-’A’+’a’;//’s[i]-’A’+’a’等于字符s[i]+32’ } Else if(s[i]>=’a’&&s[i]<=’Z’) //如果是小写字符,转换为大写字符 { s[i]=s[i]-’a’+’A’; //’s[i]-’a’+’A’等于字符s[i]3-2} } WriteFile(s);
解析
【审题分析】
(1)本题要求实现两个函数的功能,其中WriteFile(char*s)实现把字符串输入到文件中;fun(char* s)函数实现大写字母转换成小写字母,把其中的小写字母转换成大写字母。其中大小写字母之间的ASCII码差为32。
(2)从已给部分源程序的main主函数开始入手,首先实现WriteFile函数,然后再实现fun函数,并在其中调用WriteFile函数。
【解题思路】
(1)在WriteFile(char* s)函数中,利用标准流ofstream实现字符串写入文件modi2.txt。
(2)在fun函数中,利用for循环逐个判断字符是大写还是小写。
(3)如果是大写,那么加上32实现大写转换为小写。否则,就减去32,实现小写到大写的转换。最后调用前面实现的WriteFile函数,将字符串写入文件。
转载请注明原文地址:https://www.kaotiyun.com/show/O8fp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#inc1ude<iostream>usingruunespacestd;c1assObj{staticinti;public:Obj(){i++}——Obj()
若已定义inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是()。
Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是()。
有如下程序:#includeusingnamespacestd;classAA{intk;protected:intn;voidsetK(intk)
若要对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是()。
某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)()。
在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是()。
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:m=-10n=-10p=0q=-10z=A注意:错误的语句在//******e
负责数据库中查询操作的数据库语言是( )。
下列关于算法的描述中错误的是
随机试题
对于急性肾盂肾炎的治疗叙述,正确的是
男性,50岁,黑便1天,呕暗红色血700ml入院,既往有慢性肝炎史十余年。查体:BP90/58mmHg,P60次/分,可见肝掌,腹软,无压痛,肝不大,脾肋下3cm。
患者,男,50岁。高血压病史10年,今日剧烈头痛,眩晕,恶心,呕吐。查体:无肢体活动障碍,血压200/120mmHg。为快速降压,应选择下列哪种药物
产褥感染护理哪项不妥
患者,女性,65岁。被人用轮椅推入医院,接诊护士看见其面色发绀,呼吸困难,询问病史得知其有慢性阻塞性肺疾病史。给予吸氧流量应是
下列关于消防电源供配电方式的描述,错误的是()。
近几年,随着大学毕业生数量逐渐增多,当前“就业难”的现象不断加剧。请谈谈你对“就业难”现象的看法。
简述社会行政的主要内容。(华中农大2011年研)
安装Windows服务器时,通常将分区格式化为NTFS格式,NTFS的主要优点有哪三个方面?为什么要关闭那些不需要的服务和不用的端口?
关于网络层的描述中,正确的是______。
最新回复
(
0
)