一、程序运行截图
1、二进制-->八进制+不继续
2、八进制-->十六进制+不继续
3、十进制-->十六进制+不继续
4、十六进制-->二进制+继续(十六进制-->八进制)
(接上图)
5、类型选择错误
6、输入不在进制范围
二、函数介绍
1、所有函数声明
void putmenu(void); //输入*选择菜单 void getmenu(void); //输出*选择菜单 void hint(int intype); //进一步提示菜单 int mypow(int m, int n); //自制pow函数 int judge(char number[], int intype); //判断所有进制数的输入是否在进制范围内 int convertdec(char number[], int intype); //全部进制都转为十进制 void converdinary(int newnum); //十进制转为二进制 void output(int newnum, int outtype); //最终输出结果
2、中间提示+输入输出菜单
void putmenu(void) { puts("^-^欢迎进入进制转换器初始界面!!! "); puts("请选择您要输入的进制类型为:(输入前置代号即可)"); puts("[1]——二进制数!"); puts("[2]——八进制数!"); puts("[3]——十进制数!"); printf("[4]——十六进制数! 您的选择是: "); } void getmenu(void) { puts(" ^-^请选择您要输出的进制类型!!!(输入前置代号即可)"); puts("[1]——二进制数!"); puts("[2]——八进制数!"); puts("[3]——十进制数!"); printf("[4]——十六进制数! 您的选择是: "); } void hint(int intype) { switch (intype) { case 1:printf(" 请输入您的二进制数:"); break; case 2:printf(" 请输入您的八进制数:"); break; case 3:printf(" 请输入您的十进制数:"); break; case 4:printf(" 请输入您的十六进制数:"); break; default:puts("选择无法识别!!!请重新输入! "); break; } }
注:此三个函数只是为了程序运行时的必要文字输出,无具体功能
3、自制pow函数
int mypow(int m, int n) { int sum = 1; for (int i = 0; i < n; i++) { sum *= m; } return sum; }
注:自制pow指数运算函数为提升一部分程序的运行效率
4、核心函数1
int convertdec(char number[], int intype) { int len; for (len = -1; number[len] != '