【发布时间】:2018-06-17 15:45:43
【问题描述】:
我是 C++ 的初学者,但我一开始就被卡住了。
问题很简单:一个字母是输入,输出应该是“它是大写的”或“它是小写的”,或者当它不是一个字母时简单地是“错误”。
这就是我卡住的地方。
#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
char t;
cin>>t;
if (t==toupper(t))cout<<"UPPER";
else if(t==tolower(t))cout<<"LOWER";
else cout<<"ERROR";
return 0;
}
这是我的代码。我以前从未使用过字符。似乎程序无法知道它是文本还是数字/特殊符号。如何让它告诉我字母是大写、小写还是错误?
【问题讨论】:
-
您只处理 ASCII 码吗?见::isupper() 和::islower()。
-
请显示示例输入、您的期望以及您得到的。
-
if (t==toupper(t))-- 您正在使用的书、参考资料或教程 -- 是否表明这是使用toupper的方式,或者即使toupper是正确的函数判断一个字母是否大写? -
问题很简单:一个字母是输入,输出应该是“它是大写的” - 这只是英语的简单,而不是(通常)其他语言,并且当您必须同时处理多种语言时,这尤其不容易。
-
@FredLarson --
isupper()和islower适用于系统使用的任何字符编码,前提是字符值适合char; ASCII 是其中之一,但不是唯一的。这些函数不依赖于 ASCII 编码。
标签: c++ uppercase lowercase chars