请使用C++编程实现实现十进制数转换成二、八、十六进制数,以选菜单的形式实现各个功能
时间: 2024-10-09 07:14:14 浏览: 40
在C++中,我们可以创建一个简单的程序来实现十进制数到二进制、八进制和十六进制的转换。这里我会提供一个基础的控制台应用示例,并包括一个菜单供用户选择转换类型:
```cpp
#include <iostream>
#include <string>
#include <sstream>
// 十进制转其他进制函数
std::string decimalToBinary(int decimal);
std::string decimalToOctal(int decimal);
std::string decimalToHexadecimal(int decimal);
int main() {
int decimal;
std::cout << "请选择转换类型:\n"
<< "1. 转换为二进制\n"
<< "2. 转换为八进制\n"
<< "3. 转换为十六进制\n"
<< "0. 退出\n";
while (true) {
std::cin >> decimal;
if (decimal == 0)
break;
switch (decimal) {
case 1:
std::cout << "二进制结果: " << decimalToBinary(decimal) << "\n";
break;
case 2:
std::cout << "八进制结果: " << decimalToOctal(decimal) << "\n";
break;
case 3:
std::cout << "十六进制结果: " << decimalToHexadecimal(decimal) << "\n";
break;
default:
std::cout << "无效选择,请重新输入。\n";
break;
}
}
return 0;
}
// 十进制转换为其他进制的辅助函数
std::string decimalToBinary(int decimal) {
std::stringstream ss;
ss << std::bitset<8>(decimal);
return ss.str();
}
std::string decimalToOctal(int decimal) {
return std::oct << decimal;
}
std::string decimalToHexadecimal(int decimal) {
return std::hex << decimal;
}
```
在这个例子中,`decimalToBinary`、`decimalToOctal`和`decimalToHexadecimal`分别是将十进制整数转换为二进制、八进制和十六进制的函数。主程序通过循环接收用户的输入,然后根据用户的选择调用相应的转换函数。
阅读全文