2016-10-03 51 views
-4

我是一个初学者,所以请裸露在我这是我的代码我必须得到无限的输入,但是当两个最近的一个相等的15之间的差异输出这两个数字。如何应用循环前提条件我有点困惑

#include <iostream> 
#include <cstdlib> 
using namespace std; 
bool DiffCheck(int x, int y); 
int main(int argc, const char * argv[]) { 
int latest, prior; 
cout << "Enter some integers:\n"; 
cin >> prior; 
cin >> latest; 
while (DiffCheck(latest, prior)) { 


prior = latest; 
cin >> latest; 

}

cout << "The difference between " << prior << " and " << latest << " is greater than 15" << endl; 
return 0; 
} 
bool DiffCheck(int x, int y) 
{ 
return(abs(x - y) >= 15) ? false : true; 
} 
+0

我只是想要一个先决条件,我想我可以自己完成剩下的工作,但是我只是为了了解我在做什么而写的。 – Jason

+1

这是一个无效的停留时间循环...你也是什么意思的'先决条件'? – Li357

+1

我认为precondition =预验证,或者简单地检查打破循环 – shole

回答

0
#include <iostream> 

using namespace std; 
int main() 
{ 
    int first = 0; 
    int second = 0; 
    while(1) 
    { 
    cin>>second; 

    if(second - first >= 15) 
     { 
      cout<<"First: "<<first<<"Second: "<<second<<endl; 
      break; // stop the code once the difference is 15 or greater 
     } 

    first = second; 
    } 

    return 0; 
} 

注:用户正在寻找一个代码,如果数量之间的差为15或更高,将停止。所以,改变了代码。

+0

感谢兄弟我很感激它..现在在这段代码中,即使我输入1,系统也会发现0和1之间的差值等于或大于15,但如果用户输入像2和20那样,那么系统应该输出,否则应该继续。 – Jason

+0

对不起人!我认为这个问题要求输出15或更小。但是,是的......我现在已经更改了代码。如果此代码已解决您的问题,请注意并标记正确。 –

+0

你是个不错的家伙,至少你回答谢谢你,是的,它要求15或更多,第一个条件是主要问题,因为我没有任何东西可以比较,这就是让我困惑的东西,所以我想张贴在这里,并得到一些建议。 – Jason