以下图片是代码实现界面:
以下是总代码:
(总代码有点乱,因为是通过项目将每个代码块完成后导入的,可看代码块)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void D_X(int a);
void X_B(char a[],int k);
void X_D(char a[],int k);
void B_X(int a);
void B_D(int a);
void D_B(int a);
void main()
{
char r[30];
int i,j,k=0;
int q;
char arr[10];
do
{
q=0;
printf("\n请选择需要被转换的进制:\n0、退出\n1、二进制\n2、十进制\n3、十六进制\n");
scanf("%d",&i);
switch(i)
{
case 1:
printf("\n请选择转换后的进制:\n0、退出\n1、二进制\n2、十进制\n3、十六进制\n");
scanf("%d",&j);
switch(j)
{
case 1:printf("\n同进制之间不用转换!\n");
q=1;
break;
case 2:printf("\n请输入您要转换的数:");
scanf("%d",&k);
B_D(k);
q=1;
break;
case 3:printf("\n请输入您要转换的数:");
scanf("%d",&k);
B_X(k);
q=1;
break;
case 0:
q=1;
break;
}
break;
case 2:printf("\n请选择转换后的进制:\n0、退出\n1、二进制\n2、十进制\n3、十六进制\n");
scanf("%d",&j);
switch(j)
{
case 2:printf("\n同进制之间不用转换!\n");
q=1;
break;
case 1:printf("\n请输入您要转换的数:");
scanf("%d",&k);
D_B(k);
q=1;
break;
case 3:printf("\n请输入您要转换的数:");
scanf("%d",&k);
D_X(k);
q=1;
break;
case 0:
q=1;
break;
}
break;
case 3:printf("\n请选择转换后的进制:\n0、退出\n1、二进制\n2、十进制\n3、十六进制\n");
scanf("%d",&j);
switch(j)
{
case 3:printf("\n同进制之间不用转换!\n");
q=1;
break;
case 1:printf("\n请输入您要转换的数:");
fflush(stdin);
gets(r);
for(k=0;;k++)
{
if(r[k]=='\0')
break;
}
X_B(r,k);
q=1;
break;
case 2:printf("\n请输入您要转换的数:");
fflush(stdin);
gets(r);
for(k=0;;k++)
{
if(r[k]=='\0')
break;
}
X_D(r,k);
q=1;
break;
case 0:
q=1;
break;
}
break;
case 0:
printf("\n谢谢使用!\n");
}
}while(q==1);
}
void D_X(int a)
{
int j,k;
int p[30];
for(j=0;a!=0;j++)
{
p[j]=a%16;
a/=16;
if(p[j]<10)
p[j]+=48;
else
{
switch(p[j])
{
case 10:
p[j]='A';
break;
case 11:
p[j]='B';
break;
case 12:
p[j]='C';
break;
case 13:
p[j]='D';
break;
case 14:
p[j]='E';
break;
case