/*
日期:2012年11月11日
时间:01:35
作者:android88@qq.com
博客:http://blog.csdn.net/java886o
目的:测试printf()以及scanf()的用法
功能:进制转换工具类,实现10进制8进制16进制2进制之间的转换
*/
#include <stdio.h>
#include <stdlib.h>
void main()
{
rescanf:
system("cls");
char result[128]; //存储转换后的结果
printf(" 欢迎使用进制转换工具\n\n");
printf(" [1] 10------>------2\n");
printf(" [2] 10------>------8\n");
printf(" [3] 10------>------16\n");
printf(" [4] 16------>------2\n");
printf(" [5] 16------>------8\n");
printf(" [6] 16------>------10\n");
printf(" [7] 8------>------2\n");
printf(" [8] 8------>------10\n");
printf(" [9] 8------>------16\n");
int type,scanNumber;
printf("\n 请输入序号:");
scanf("%d",&type);
switch(type) {
case 1:
printf("\n 【10进制转2进制】:");
scanf("%d",&scanNumber);
itoa(scanNumber,result,2);
printf("\n 【结果】【%s】",result);
break;
case 2:
printf("\n 【10进制转8进制】:");
scanf("%d",&scanNumber);
itoa(scanNumber,result,8);
printf("\n 【结果】【%s】",result);
break;
case 3:
printf("\n 【10进制转16进制】:");
scanf("%d",&scanNumber);
itoa(scanNumber,result,16);
printf("\n 【结果】【0x%s】",result);
break;
case 4:
printf("\n 【16进制转2进制】:");
scanf("%x",&scanNumber);
itoa(scanNumber,result,2);
printf("\n 【结果】【%s】",result);
break;
case 5:
printf("\n 【16进制转8进制】:");
scanf("%x",&scanNumber);
itoa(scanNumber,result,8);
printf("\n 【结果】【%s】",result);
break;
case 6:
printf("\n 【16进制转10进制】:");
scanf("%x",&scanNumber);
itoa(scanNumber,result,10);
printf("\n 【结果】【%s】",result);
break;
case 7:
printf("\n 【8进制转2进制】:");
scanf("%o",&scanNumber);
itoa(scanNumber,result,2);
printf("\n 【结果】【%s】",result);
break;
case 8:
printf("\n 【8进制转10进制】:");
scanf("%o",&scanNumber);
itoa(scanNumber,result,10);
printf("\n 【结果】【%s】",result);
break;
case 9:
printf("\n 【8进制转16进制】请输入需要转换的数:");
scanf("%o",&scanNumber);
itoa(scanNumber,result,16);
printf("\n 【结果】【0x%s】",result);
break;
default:
goto rescanf;
break;
}
printf("\n\n\n");
system("pause");
goto rescanf;
}
还没有评论,来说两句吧...