首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*s),该函数完成以下功能: (1)把s中的大写字母转换成小写字母,把其中的小写字母转换成大写字母。并且在函数中调用写函数WriteFile()将结果输出到modi
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*s),该函数完成以下功能: (1)把s中的大写字母转换成小写字母,把其中的小写字母转换成大写字母。并且在函数中调用写函数WriteFile()将结果输出到modi
admin
2017-06-19
42
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*s),该函数完成以下功能:
(1)把s中的大写字母转换成小写字母,把其中的小写字母转换成大写字母。并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。
例如:s="heIIoTEST",则结果为:s="HELLOtest"
(2)完成函数WriteFile(char*s),把字符串输入文件中。
提示:打开文件使用的第二参数为ios.— base::binarylios_base::app。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
#inc1ude<iostream>
#inc1ude<fstream>
#inc1ude<cmath>
using namespace std;
void WriteFile(char*s)
{
}
void fun(char*’s)
{
}
void ClearFile()
{
ofstream outl;
outl.open("modi2.txt");
outl.c1ose(),
}
int main()
{
ClearFile();
char s[1024];
cout<<"p1case input a string:"<<end1;
cin.getline(s,1024);
fun(s),
return 0;
}
选项
答案
(1)void WriteFile(char*s)中的命令语句: ofstream outl: outl.open("modi2.txt",ios_base:: binarylios_base::app);/ /打开文件modi2 outl<<s; //写入字符串s outl.close(); (2) void fun(char*s)中的命令语句: for(int i=0;s[i]=0;i++) //循环孰断每一个字符 { if(s[i]>=’A’&&s[i]<=’Z’) //如果是大写字符,转换为小写字符 { s[i]=s[il=’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]=32 } } WriteFile(s);
解析
本题要求实现两个函数的功能,其中WriteFile(char*s)实现把字符串输入到文件中;fun(char*s)函数实现大写字母转换成小写字母,把其中的小写字母转换成大写字母。其中大小写字母之间的ASCII码差为32。
从已给部分源程序的main主函数开始入手,首先实现WriteFile函数,然后再实现fun函数,并在其中调用WriteFile函数。
(1)在WriteFile(char*s)函数中,利用标准流ofstream实现字符串写入文件modi2.txt。
(2)在fun函数中,利用for循环逐个判断字符是大写还是小写。
(3)如果是大写,那么加上32实现大写转换为小写。否则,就减去32,实现小写到大写的转换。最后调用前面实现的WriteFile函数,将字符串写入文件。
转载请注明原文地址:https://kaotiyun.com/show/NQAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列运算符中不能在C++中重载的是
下列叙述中正确的是
若已定义 int a[]={1,2,3,4,5,6,7,8,9,10}, *p=a,i=5; 则对数组元素的不正确的引用是
下列程序中需要清理动态分配的数组,划线处应有的语句是【 】。#include<iostream,h>classperson{intage,tall;public:person(){age=0;tall=40;co
下面程序段的正确输出是 int w=4,x=3,y=2,z=1; cout<<(w<x? w:z<y? z:x)<<endl;
若有以下程序:#include<iostream>usingnamespacestd;classpoint{private:intx,y;public:point(
下列格式化I/O的操作符中,()是设置域宽的。
下列程序编译错误,因为add函数返回值是一个引用,故对return后返回值的要求是【 】。#include<iostream.h>int&add(intx,inty){
以下选项中合法的用户标识符是
下列符号中可以用作C++标识符的是()。
随机试题
胚胎造血首先在
哌替啶(度冷丁)比吗啡应用广泛的原因是
作为最重要的金融中介机构,()的主要职能在于帮助政府和企业筹集资金。
将短期借款转为银行对本公司的投资属于权益内部的变化,并不影响资产总额。()
对正常死亡和死因明确的境外游客一般不做尸体解剖,如果要求解剖,应由()签字,提出书面请求。
《冬猎》是尼德兰画家________的作品。它的表现方法是________,所捕画的是________。
(2017·河北)在回答教师的提问时,学生把头脑中与该问题有关的知识提取出来,这种提取过程就是()
设=________.
在创建交叉表查询时,用户需要指定()种字段。
Itpaystobehonest.
最新回复
(
0
)