#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
int main() {
int ls[3][101], len = 1, sz[101];
cout << "欢迎使用进制转换工具" << endl;
string xz;
loop:
cout << "如果您要把十进制转换成八进制数请输入8,如果您要把八进制转换成十进制数请输入10,如果您要查看历史请输入1,如果您要退出请输入0:";
xz = "";
cin >> xz;
if (xz == "10") {
double fn;
int n[100];
cout << "请输入要转换成十进制的数(整数):";
cin >> fn;
sz[len] = (int)fn;
int fn1 = (int)fn;
int a = 0, i = 0;
while (fn1) {
n[i] = fn1 % 10;
fn1 /= 10;
i++;
}
cout << (int)fn << "转换成十进制数是:{";
for (int j = i - 1; j >= 0; j--) {
a = a * 8 + n[j];
}
cout << a;
cout << "}10" << endl;
ls[1][len] = 10;
ls[2][len] = a;
len++;
system("pause");
system("cls");
goto loop;
}
if (xz == "8") {
double fn;
int n[100], sc = 0;
cout << "请输入要转换成八进制的数(整数):";
cin >> fn;
sz[len] = (int)fn;
int a = (int)fn, i = 0;
while (true) {
if (!a) {
break;
}
n[i] = a % 8;
a = a / 8;
i++;
}
cout << (int)fn << "转换成八进制数是:{";
for (int j = i - 1; j >= 0; j--) {
cout << n[j];
sc = sc * 10 + n[j];
}
cout << "}2" << endl;
ls[1][len] = 8;
ls[2][len] = sc;
len++;
system("pause");
system("cls");
goto loop;
}
if (xz == "1") {
for (int j = 1; j <= len; j++) {
if (ls[1][j] == 10) {
cout << sz[j] << "转换成十进制数是" << ls[2][j] << endl;
}
if (ls[1][j] == 8) {
cout << sz[j] << "转换成八进制数是" << ls[2][j] << endl;
}
}
system("pause");
system("cls");
goto loop;
}
if (xz == "0") {
cout << "正在退出... ...欢迎再次使用";
return 0;
}
else {
cout << "输入有误,请重新输入" << endl;
goto loop;
}
}
c++如何完成八进制和十进制的互相转换
最新推荐文章于 2024-05-05 12:57:32 发布