请记住,我对 C++ 几乎是全新的,这只是我必须为我的课程做的一个程序。我想我明白我会怎么做。我只是不确定将什么作为我的 while 循环的控制条件。我应该能够转换给定的任何八进制数,那么如何知道我何时处于第一个数字并且应该停止?我正在使用增加的 %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++;
}
显然程序并不完整,这只是我发现问题时得到的代码。我把*放在我需要代码帮助的地方。非常感谢!简而言之,我应该如何控制我的循环,这样我就不会离开八进制数的前面?