c#logic不正确的简单窗体

时间:2016-02-09 04:46:24

标签: logic

我正在努力帮助我的兄弟完成一门课程的任务。

任务:

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");

我相信每个语句中的> =逻辑都有错,但我不太清楚如何修复它。

程序停留在第一个if,并且它正确地将输出转换为分钟,但是当输入更大的值(例如3600或86400)时,程序仍会在几分钟内显示。

1 个答案:

答案 0 :(得分:0)

扭转逻辑。如果最大的第1。如果直到最低,那么其他。

如果秒数为3600,它们确实大于60,这将满足您的第一次测试,而不是测试也不会触发您的两个额外选项。