0

我得到了一个伪代码来翻译成 C++:

    Set a Boolean variable “first” to true.
    While another value has been read successfully
          If first is true
          Set the minimum to the value.
          Set first to false.
          Else if the value is less than the minimum
          Set the minimum to the value.
    Print the minimum

这是我的代码:

bool first = true;
bool read_value = true;
int value = 0;
int minimum = 0;
cout << "Enter an integer : " ;
cin >> value;
while(cin.hasNextInt())   // error here
{
    cout << "Enter another integer : " ;
    cin >> minimum;
    if( first == true){
        minimum = value;
        first = false;
    }else if ( value < minimum){
        minimum = value;
    }
}
cout << minimum;

system("PAUSE");
return 0;

那里的 hasNextInt 有错误。而且我真的不知道伪代码想要什么。有人可以向我解释吗?

提前致谢。

4

3 回答 3

1

标准 C++ 库中没有hasNextInt()函数(这就是您无法编译的原因)。但是,Java 中有一个!

于 2013-04-24T13:24:50.273 回答
0

这更接近您想要的代码:

cout << "Enter an integer : " ;
while( cin >> value )
{
    if( first == true){
        minimum = value;
     first = false;
    }else if ( value < minimum){
        minimum = value;
    }
    cout << "Enter another integer : " ;
}
于 2013-04-24T13:27:05.383 回答
0

那是愚蠢的伪代码。如果没有一些毫无价值的布尔,我们可以做得更好......

int min = std::numeric_limits<int>::max();

for(int val; cin >> val)
{
    if(val < min)
        min = val;
}

cout << "Minimum: " << min << '\n';
于 2013-04-24T13:29:19.133 回答