从键盘输入一个数据,可能是浮点型,可能是整型,如果是整型,输出“整型”,如果是浮点型输出“浮点”
时间: 2024-12-14 11:19:09 浏览: 10
你可以使用C++的`std::cin`来获取用户的输入,然后用`typeid`或`is_same`来检查输入的数据类型。以下是一个简单的示例程序:
```cpp
#include <iostream>
#include <typeinfo>
int main() {
double input;
int integer_input;
// 获取输入
std::cout << "请输入一个数字: ";
std::cin >> input;
try {
// 尝试将输入转换为整数
integer_input = static_cast<int>(input);
std::cout << "尝试转换为整型: " << typeid(int).name() << std::endl; // 输出 "整型"
} catch (const std::invalid_argument& e) {
// 如果转换失败,说明输入的是浮点型
if (typeid(input).name() == typeid(double).name()) {
std::cout << "输入的是浮点型" << std::endl;
}
}
return 0;
}
```
在这个例子中,我们首先尝试将输入强制转换为整数。如果转换成功(即输入的是整数),那么`typeid(int).name()`会返回"i"代表整型。如果转换失败,我们会捕获到`std::invalid_argument`异常,然后检查输入的类型是否仍为`double`,如果是,则输出"输入的是浮点型"。
阅读全文