C ++ While Loop:Hex&十月,&十二月

时间:2015-10-28 14:15:15

标签: c++ loops

我目前正在编写一个代码:

  

取2个十进制数,然后在紧凑的查看表中以八进制,十六进制以及原始格式显示。

目前,我仅限于while循环。代码如下:

cout << "Enter in two hexadecimal numbers that will be the beginning and end\n";
while (num1 <= num2){
    // takes 2 hexadecimal inputs
    cin >> hex >> num1; cin >> hex >> num2; 

    cout << "Decimal\tOctal\tHexadecimal\n";
    cout << "***********************************\n";

这并不多,但这已经在我身上消磨了一段时间。我目前不知道如何处理这个问题。

注意:我不知道要增加什么,或者我是否需要另一个变量。如果你可以给出建议,或指出我正确的方向,这将是伟大的。

3 个答案:

答案 0 :(得分:1)

首先,您想要获取您的值,然后从num1循环到num2,例如:

cout << "Enter in two hexadecimal numbers that will be the beginning and end\n";
cin >> hex >> num1; cin >> hex >> num2; //takes 2 hexadecimal inputs

while (num1 <= num2) {
    // ... do stuff
    ++num1;
}

然后你可能只想要io操纵器,就像你用来输入num1在你的不同基础中输出{#1}}做的东西&#34;循环的一部分。

答案 1 :(得分:1)

有一件事 - 您可能希望在>读取值

之后启动循环
cout << "Enter in two hexadecimal numbers that will be the beginning and end" << endl;
cin >> hex >> num1; cin >> hex >> num2; //takes 2 hexadecimal inputs

while (num1<=num2)
{
   cout << num1 << "  " << oct <<  num1 << "  " << hex << num1 <<endl;
   num1++;
}

答案 2 :(得分:1)

我可能会做这样的事情......

#include <iomanip>

.........

int num1 = 0;
int num2 = 0;
cout << "Enter number 1: ";
cin >> num1;
cout << "Enter number 2: ";
cin >> num2;

if(num1 > num2){
    cout << "number 1 needs to be smaller than number 2; exiting...";
    return 0;
}

cout << "Decimal\tOctal\tHexadecimal\n";
cout << "***********************************\n";
while(num1 <= num2){
    cout << dec << num1 << " " << oct << num1 << " " << hex << num1 << endl;
    num1++;
}

查看c ++的ios标志