C++实现大写转换小写,小写转换大写

来源:百度知道 编辑:UC知道 时间:2024/06/21 19:52:45
#include<iostream>
using namespace std;
int main()
{
char x;
cout<<"请输入一个字母字符x:";
cin>>x;
#if(x>a)
x=x-32;
#else
x=x+32;
#endif
cout<<"改变后:"<<x<<endl;
return (0);
}
这是我写的代码,可是当输入小写的时候转换后不显示大写,输入大写的到是可以转换小写。
请高手帮我解答下,谢谢~~~~
如果只用IF写我也会,但是要求是#if。。。。。#else。。。。。#endl
算了谢谢你们了!!

你这是条件编译,当然是这样,其实这段程序完全可以用if语句替代,这里貌似是习题吧,是给你体会条件编译的用法吧,
#if(x>a) 这是不成立的,当然不会执行下面的语句,也就是跳过直接去执行#else下面的,条件编译开始都要写#defing 表达式||标识符
而这里的(x>a)该怎么写????当判断它为1时则执行,否则跳到#else,这里
就会出现错误,
假如你要实现大小写的转换功能,就用if语句替代,
这是一个给你体会条件编译用法的程序,你就写成下面的行了,
手动修改A的值为1或0

#include<iostream>
using namespace std;
#define A 1
int main()
{
char x;
cout<<"请输入一个字母字符x:";
cin>>x;
#if A //判断A是1则执行
if(x>='a'&&x<='z')
x=x-32;
#else
if(x>='A'&&x<='Z')
x=x+32;
#endif
cout<<"改变后:"<<x<<endl;
return (0);
}

#include "stdafx.h"

#include<iostream>
using namespace std;
void main()
{
char x;
cout<<"请输入一个字母:"<<endl;
cin>>x;
if((x>='a')&&(x<='z'))
{x=x-32;