私は C++ の初心者であり、これは私のクラスで行う必要がある単なるプログラムであることを覚えておいてください。私は実際にそれをどのように行うかを理解していると思います。while ループの制御条件として何を設定すればよいかわかりません。与えられた任意の 8 進数を変換できるはずですが、最初の数値に達したときに停止する必要があることをどのように知ることができますか? %10 (別名 %10、%100、%1000) の増加単位を使用して右から左に数字を進めていますが、それをやめるべき時期をどのように知ることができますか? 112 の場合と同様に、%10、%100、%100 を実行する必要がありますが、それを超えてはいけません。
#include <iostream>
#include <cmath>
using namespace std;
int main ()
{
cout <<"Please enter the octal number to be converted: " <<
int octal;
cin >> octal;
int remainder = 0;
int modular = 10;
int conversionToDecimal = 0;
while(modular < ***********)
remainder = octal%modular;
if (remainder < 10)
{
conversionToDecimal = conversionToDecimal + (remainder *(int)pow(8.0,count));
count = 0;
modular = modular*10;
}
else
{
remainder = remainder/10;
count++;
}
明らかに、プログラムは完全ではありません。これは、問題を発見したときに得たコードにすぎません。コードの助けが必要なところに*を置きます。本当にありがとう!要するに、8 進数の先頭から外れないようにループを制御するにはどうすればよいですか?