[英]Can someone please check my timer program in C++
我想編寫一個程序來檢查X,Y和Z的值的變化在5秒鍾內是否不超過10的差,應該調用initialValues()函數。
我已經編寫了以下程序,但是在運行時會崩潰,並且程序無法正常工作。 然后,我必須強制關閉程序。
以下是我的計時器程序的主要部分。 刪除此特定部分后,程序不會崩潰。
我該如何解決?
while(X<=X+10 || X>=X-10 && Y<=Y+10 || Y>=Y-10 && Z<=Z+10 || Z>=Z-10)
{
clock_t t;
t = clock();
t = clock()-t;
float timer = t/CLOCKS_PER_SEC;
if(timer==5)
{
initialValues(X,Y,Z);
cout<<"X = "<<initialX<<" Y = "<<initialY<<" Z = "<<initialZ<<endl;
}
}
您沒有說函數initialValues的作用,所以我們不知道那里是否有躲閃動作。 但是,您似乎有一個無限循環。 檢查while循環中的條件,並插入方括號以分隔應一起評估的條件,例如,例如:
while( ( X<=X+10 || X>=X-10 ) && ( Y<=Y+10 || Y>=Y-10 ) && ( Z<=Z+10 || Z>=Z-10) )
請注意額外的括號。
特別是,您應該檢查指定的條件是否始終為真,如另一個用戶所建議的那樣。 在我看來,X <= X + 10始終如此,其余條件也是如此。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.