【发布时间】:2022-06-16 01:16:11
【问题描述】:
所以我试图让这段代码作为一个文件工作,然后再将其分解为模块进行分配,但我似乎无法让我的 isUpper/isLower 函数工作。
#include <iostream>
using namespace std;
char toUpper(char letter) {
return static_cast<char>(letter - ('a' - 'A'));
}
char toLower(char letter) {
return static_cast<char>(letter + ('a' - 'A'));
}
bool isUpper(char letter) {
return letter >= 'A' && letter <= 'Z';
}
bool isLower(char letter) {
return letter >= 'a' && letter <= 'z';
}
int main(){
char letter;
cout <<"Enter an alphabetic character: ";
cin >> letter;
bool isUpper(letter);
bool isLower(letter);
if ((letter >= 'A' && letter <= 'Z') || (letter >= 'a' && letter <= 'z')) {
if (bool isUpper = true) {
cout << "The corresponding lower case letter is " << toLower(letter) << endl;
} else if (bool isLower = true) {
cout << "The corresponding upper case letter is " << toUpper(letter) << endl;
}
} else {
cout << "Invalid input! Please try again!" << endl;
}
return 0;
}
每次我运行它时,我都会得到如下输出: 输入一个字母字符:a 对应的小写字母为ü
有人告诉我到底我做错了什么,我的 isUpper 似乎总是评估为真?
【问题讨论】:
-
if (bool isUpper = true)不正确