编写程序提示用户输入一个十进制整数,分别用十进制、八进制和十六进制形式输出。
时间: 2024-10-23 07:05:00 浏览: 45
当你想编写一个程序,让用户输入一个十进制整数并将其转换为八进制和十六进制形式输出时,你可以使用C++标准库中的`std::cin`从用户获取输入,以及`std::stoi`或`std::stoul`来处理字符串到整数的转换。然后,你需要定义转换函数将十进制数转换为其他进制。下面是简单的代码示例:
```cpp
#include <iostream>
#include <string>
// 十进制转八进制和十六进制的辅助函数
std::string decimalToOctal(int decimal) {
std::ostringstream oss;
oss << std::oct << decimal;
return oss.str();
}
std::string decimalToHexadecimal(int decimal) {
std::ostringstream oss;
oss << std::hex << decimal;
return oss.str();
}
int main() {
int decimal_num;
std::cout << "Please enter a decimal integer: ";
if (!(std::cin >> decimal_num)) { // 检查是否成功读取输入
std::cerr << "Invalid input!" << std::endl;
return 1; // 返回错误代码
}
std::cout << "Decimal: " << decimal_num << std::endl;
std::cout << "Octal: " << decimalToOctal(decimal_num) << std::endl;
std::cout << "Hexadecimal: " << decimalToHexadecimal(decimal_num) << std::endl;
return 0;
}
```
在这个代码里,我们首先定义了两个辅助函数,用于将十进制数转换成八进制(`std::oct`标志)和十六进制(`std::hex`标志)。`std::ostringstream`用于构造一个流,我们可以像对待普通文件一样写入数字并最终得到字符串。
阅读全文