2016-10-03 23 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