Хорошо, во-первых, я почти уверен, что я не должен использовать TimeSpan для этого задания; скорее ряд формул, который показывает секунды, минуты и часы в окне сообщения, когда пользователь вводит количество секунд в текстовом поле.
Вот где я застрял. Мы должны проверить наши ответы на примере: 7565 секунд — это 2 часа, 6 минут и 5 секунд. Однако мой код вычисляет его как 2 часа, 6 минут и 6 секунд. Он также сохраняет этот ответ, когда начальное число равно 7560 секундам. Я весьма озадачен!! Это условный сценарий, в котором окно сообщения показывает только секунды, если пользователь вводит менее 60 секунд, только минуты + секунды, если пользователь вводит от 60 до 3600 секунд, и часы + минуты + секунды, если введено более 3600 секунд. Вот что у меня есть до сих пор, и я был бы признателен за любое понимание того, почему мой расчет не работает :)
Спасибо за ответы! Но 7565 не является константой; пользователь может ввести любое количество секунд, но мой профессор использовал 7565 в качестве примера, чтобы проверить, на правильном ли мы пути.
private void calculateButton1_Click(object sender, EventArgs e)
{
int totalSeconds, hours, minutes, minutesRemainder, hoursRemainderMinutes, hoursRemainderSeconds;
totalSeconds = int.Parse(secondsTextBox1.Text);
minutes = totalSeconds / 60;
minutesRemainder = totalSeconds % 60;
hours = minutes / 60;
hoursRemainderMinutes = minutes % 60;
hoursRemainderSeconds = hoursRemainderMinutes % 60;
if (totalSeconds < 60)
{
MessageBox.Show(totalSeconds.ToString());
}
else if (totalSeconds < 3600)
{
MessageBox.Show(minutes.ToString() + " minutes, " + minutesRemainder.ToString() + " seconds");
}
else if (totalSeconds>3600)
{
MessageBox.Show(hours.ToString() + " hours, " + hoursRemainderMinutes.ToString() + " minutes, " + hoursRemainderSeconds.ToString() + " seconds");
}
}
TimeSpan.FromSeconds(7565).ToString()
. Это вернет"02:06:05"
. - person Martin Liversage   schedule 12.09.2014