.分析研究,输入一个字符,若为大写转换为小写并输出,若为小写转换为大写并输出,若为其他字符则原样输出。(要求用所讲的三种方法各写一个程序)c++语言
时间: 2024-09-29 10:04:41 浏览: 49
在C++中,我们可以使用条件语句(if-else)、函数重载以及模板来分别实现这个功能。以下是三种不同的方法:
1. **使用条件语句(if-else)**:
```cpp
#include <iostream>
using namespace std;
char convertCase(char c) {
if (isupper(c)) // 判断是否为大写字母
return tolower(c); // 转换为小写
else if (islower(c)) // 判断是否为小写字母
return toupper(c); // 转换为大写
else
return c; // 其他字符不变
}
int main() {
char input;
cout << "请输入一个字符: ";
cin >> input;
cout << "转换后的字符: " << convertCase(input);
return 0;
}
```
2. **使用函数重载(overload functions)**:
```cpp
#include <iostream>
#include <cctype>
void caseConvert(char c, bool toLower = true) {
c = toLower ? tolower(c) : toupper(c);
cout << "转换后的字符: " << c << endl;
}
int main() {
char input;
cout << "请输入一个字符: ";
cin >> input;
caseConvert(input);
// 如果需要区分大写和小写版本,可以再次调用
caseConvert(input, false);
return 0;
}
```
3. **使用模板(Template)(适用于泛型编程)**:
```cpp
#include <iostream>
#include <algorithm>
template <typename T>
T caseConvert(T c) {
static_assert(std::is_same<T, char>::value, "仅支持字符类型");
return isupper(c) ? static_cast<char>(tolower(c)) : static_cast<char>(toupper(c));
}
int main() {
char input;
cout << "请输入一个字符: ";
cin >> input;
cout << "转换后的字符: " << caseConvert(input) << endl;
return 0;
}
```
在这三个示例中,用户都可以输入一个字符,程序会根据输入的情况将其转换为相应的大小写形式。
阅读全文