-1
我寫了一個程序,也轉換了一個4位數的正八進制數,也是它的十進制等值。然而,在嘗試驗證用戶輸入(0-7)時,發生了問題。在我的for循環中,也防止用戶輸入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-7\n";
return 0;
}
else if(octNum > 7777)
{
cout << "Please enter a 4 digit octal number from 0-7 only\n";
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-7\n";
return 0;
}
}
我覺得你在這裏做金剛的功課。 – Novelocrat
我做過哥斯拉的,所以這只是公平的。 –
謝謝大衛,你能否告訴我我做錯了什麼? – KingKong