验证八进制到十进制的转换
Validating octal to decimal conversion
我编写了一个程序,将一个4位的正八进制数转换为它的十进制等价数。然而,当试图验证用户输入(0-7)时,出现了一个问题。在我的for循环中,too阻止用户输入8或9,当我输入应该允许的数字时,程序仍然终止并显示"您输入了一个大于7的数字"。
我不知道我做错了什么,任何帮助都会很感激。下面是有问题的代码。int main()
{
//declare variables
int i, octNum = 0, decNum = 0, arr[20];
//get octal value from user input
cout << "Enter the 4 digit Octal Number you would like too convert: " ;
cin >> octNum;
// validate input if value is negative, or greater then 4 digits
if(octNum < 0)
{
cout << "Please enter a positive octal number from 0-7n";
return 0;
}
else if(octNum > 7777)
{
cout << "Please enter a 4 digit octal number from 0-7 onlyn";
return 0;
}
// Validate for octal digits 0-7. If 8 or 9 prompt user too start again
for(int n = 0; octNum > 0; n++)
{
if(n == 8 || n == 9)
{
cout << "One of the numbers was above 7 nPlease enter an octal number from 0-7n";
return 0;
}
}
我想你的意思是这样的:
for(int n = octNum; n > 0; n /= 10)
{
if ((n % 10) > 7)
{
cout << "One of the digits was above 7nPlease enter a valid octal number" << endl;
return 0;
}
}
相关文章:
- visual在c++中将十进制数转换为二进制数
- C++十进制到二进制,如何转换
- C++从二进制转换为十进制数
- 我编写了代码将十进制分数转换为其二进制等效数.它编译得很好,但在执行时挂起
- 将分数转换为十进制数并对其进行排序
- 将字符串(可以是十进制字符串或十六进制字符串)转换为整数C++
- 十进制到二进制转换器 c++
- 如何在C ++中将二进制字符串128位转换为十进制字符串?
- 将二进制转换为十进制,我如何要求用户仅输入二进制
- 我正在尝试编写将 ASCII 转换为十进制、添加并转换回 ASCII 的软件
- 如何将QBytearrayBCD转换为十进制QString表示
- C++:二进制到十进制w/转换过程的外观
- 十六进制到十进制转换的未清理答案
- 如何在C++中将二进制编码十进制转换为 int
- 如何将带有浮点数的字符串转换为十进制?
- 如何使用链表将负十进制数转换为二进制?
- 将字符指针中的十六进制转换为十进制
- 使用 std::hex 将十六进制转换为十进制
- 十进制,包括负到 32 位二进制转换器
- 使用动态比特斯转换十进制数字