2016-02-09 66 views
0

我想幫助我的兄弟與他的任務之一,爲一門課程。c#邏輯不正確簡單的窗體形式

任務:

IMGUR link

這是他爲C#Windows窗體

double sec; 
double min; 
double hour; 
double day; 

sec = double.Parse(secondsTb.Text); 
min = sec/60; 
hour = sec/3600; 
day = sec/86400; 
hour = (60 * min)/60; 
day = (24 * hour)/24; 

if (sec >= 60) 
MessageBox.Show(min.ToString() + " minutes"); 
else if (sec >= 3600) 
MessageBox.Show(hour.ToString() + " hours"); 
else if (sec >= 86400) 
MessageBox.Show(day.ToString() + "days"); 

我相信代碼存在在每個報表,但我與他的> =邏輯錯誤我不太清楚如何解決它。

的程序被卡住第一如果,並正確變換輸出到幾分鐘,但是,當例如3600或86400更大的值被輸入的程序仍然顯示以分鐘爲單位。

回答

0

反轉邏輯。如果最大的第一。然後,如果直到最低。

如果秒是3600,他們的確是大於60,這將滿足您的第一次測試,而不是測試,也不觸發兩個附加選項。