我正在努力帮助我的兄弟完成一门课程的任务。
任务:
这是他的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");
我相信每个语句中的> =逻辑都有错,但我不太清楚如何修复它。
程序停留在第一个if,并且它正确地将输出转换为分钟,但是当输入更大的值(例如3600或86400)时,程序仍会在几分钟内显示。
答案 0 :(得分:0)
扭转逻辑。如果最大的第1。如果直到最低,那么其他。
如果秒数为3600,它们确实大于60,这将满足您的第一次测试,而不是测试也不会触发您的两个额外选项。