做的一个进制转换程序,想给输入的时候做一个容错,就是比如5进制只能输入1-4,16进制只能输入1-F,这是我写的一个容错不管用,求助大佬
printf("请输入你要转换的%d进制数\n", flag); //输入转换的数
scanf("%s", num);
len = strlen(num);
for (int j = 0; j < len; j++)
{
if (flag < 10)
{
while (num[j]<'0' || num[j]>(flag + '0')||num[0]!='-')
{
printf("请输入正确的数0-%d\n", flag - 1);
scanf("%s", num);
}
}
else if (flag == 12)
{
while (num[j]<'0' || num[j]>'9' || num[j] != 'A' || num[j] != 'B' || num[0] != '-')
{
printf("请输入正确的数0-B\n");
scanf("%s", num);
}
}
else if (flag == 16)
{
while (num[j]<'0' || num[j]>'9' || num[j] != 'A' || num[j] != 'B' ||
num[j] != 'C' || num[j] != 'D' || num[j] != 'E' || num[j] != 'F' || num[0] != '-')
{
printf("请输入正确的数0-F\n");
scanf("%s", num);
}
}
}