int b_to_dec(void) //二进制向十进制转换
{
int dec; //存储转换后的数
char temp[40]; //保存从键盘输入的二进制数
int i;
int flag=0; //判断输入是否有误,0为正确,1为错误
while (1)
{
dec = 0;
printf("Input a binary to be convert to dec, q to quit:");
gets(temp);
if ('q' == temp[0])
return -1;
for (i=0; temp[i] != '\0'; i++)
{
if (temp[i]<'0' || temp[i] >'1')
{
flag = 1; //如果输入的数字有错,则置1
}
}
if (flag == 1) //如果flag为1,则重新进行输入
{
printf("input error!\n");
flag = 0;
continue;
}
for (i=0; temp[i] != '\0'; i++) //下面的代码进行转换
{
dec *= 2;
dec += temp[i] -'0';
}
printf("dec = %d\n", dec); //打印转换后的数
}
return 0;
}
{
int dec; //存储转换后的数
char temp[40]; //保存从键盘输入的二进制数
int i;
int flag=0; //判断输入是否有误,0为正确,1为错误
while (1)
{
dec = 0;
printf("Input a binary to be convert to dec, q to quit:");
gets(temp);
if ('q' == temp[0])
return -1;
for (i=0; temp[i] != '\0'; i++)
{
if (temp[i]<'0' || temp[i] >'1')
{
flag = 1; //如果输入的数字有错,则置1
}
}
if (flag == 1) //如果flag为1,则重新进行输入
{
printf("input error!\n");
flag = 0;
continue;
}
for (i=0; temp[i] != '\0'; i++) //下面的代码进行转换
{
dec *= 2;
dec += temp[i] -'0';
}
printf("dec = %d\n", dec); //打印转换后的数
}
return 0;
}