#include <iostream>
void Menu();
void zhuanTwo(int);
void zhuanEight(int);
void zhuanSixteen(int);
using namespace std;
int main()
{int a;
cout<<"请输入一个数:";
cin>>a;
Menu();
int choose ;
cin>>choose;
switch(choose)
{
case 1:zhuanTwo(a);break;
case 2:zhuanEight(a);break;
case 3:zhuanSixteen(a);break;
}
return 0;
}
void Menu()
{
cout<<"-----------菜单----------"<<endl;
cout<<" 1. 十进制转化为二进制"<<endl;
cout<<" 2. 十进制转化为八进制"<<endl;
cout<<" 3. 十进制转化为十六进制"<<endl;
cout<<"-------------------------"<<endl;
cout<<"请选择: ";
}
void zhuanTwo(int a)
{int i,c[20];
i=19;
while (a!=0)
{a=a%2;
a=a/2;
c[i]=a;
i--;
}
cout<<endl;
int k;
for(k=i+1;k<=19;k++)
cout<<c[k];
cout<<endl;
}
void zhuanEight(int a)
{int i,c[20];
i=19;
while (a!=0)
{a=a%8;
a=a/8;
c[i]=a;
i--;
}
cout<<endl;
int k;
for(k=i+1;k<=19;k++)
cout<<c[k];
cout<<endl;
}
void zhuanSixteen(int a)
{
int j,n=0;
char k[20];
char s[17]={'0','1','2','3','4','5','6','7','8','9','a','a','C','D','E','F'};
while(a!=0)
{
j=a%16;
k[n]=s[j];
a=a/16;
n++;
}
cout<<endl;
int x;
cout<<"转换为16进制为:";
for(x=n-1;x>=0;x--)
cout<<k[x];
cout<<endl;
}