Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 04.05.2016
Сообщений: 21
1

Округлить время (часы, минуты, секунды) до часов, минут или до часов

12.07.2018, 13:16. Показов 4119. Ответов 4
Метки нет (Все метки)

Всем привет! Нужна помощь с исправлением программы на c#. По заданию нужно округлить время (часы, минуты, секунды) до часов, минут или до часов. То есть 15ч 34мин 50с округляется в 15ч 35 мин или в 16 ч.
Я написал программу с условием:
C#
1
2
3
if (s >= 30) m = m + 1; 
if (m >= 30) h = h + 1;
if (h >= 24) h = 0;
Но необходимо написать без условий, то есть просто линейное программирование, нужно использовать формулы.
Я понял, что необходимо вводить время в формате даты как-то, а потом парсить. Подскажите, пожалуйста, как это делать?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.07.2018, 13:16
Ответы с готовыми решениями:

Преобразование часов из десятичного числа в стандартный формат времени (часы : минуты : секунды).
Ребята помогите, как осуществить в C# Преобразование часов из десятичного числа в стандартный...

Какое время будут показывать часы через p часов q минут r секунд?
Доброго времени суток, тут такая проблемка нарисовалась: Текущее показание электронных часов: m...

Перевести время: из дней в часы, из часов в минуты, из минут в секунды
Напишите программу, которая переводит время:из дней в часы, из часов в минуты, из минут в секунды....

Преобразование часов в минуты или секунды
Написать программу преобразования часов в минуты или секунды по выбору пользователя.

4
151 / 143 / 87
Регистрация: 13.06.2018
Сообщений: 625
12.07.2018, 13:38 2
Лучший ответ Сообщение было отмечено Blurryface как решение

Решение

C#
1
2
3
m+=s/30;
h+=m/30;
h*=(1-h/24);
так что ли?
1
Эксперт .NET
15061 / 11410 / 2998
Регистрация: 17.09.2011
Сообщений: 19,140
12.07.2018, 14:15 3
Цитата Сообщение от Blurryface Посмотреть сообщение
необходимо написать без условий, то есть просто линейное программирование, нужно использовать формулы.
Я понял, что необходимо вводить время в формате даты как-то, а потом парсить. Подскажите, пожалуйста, как это делать?
C#
1
2
TimeSpan RoundToMinutes(TimeSpan ts) => TimeSpan.FromMinutes(Math.Round(ts.TotalMinutes, MidpointRounding.AwayFromZero));
TimeSpan RoundToHours(TimeSpan ts) => TimeSpan.FromHours(Math.Round(ts.TotalHours, MidpointRounding.AwayFromZero));
C#
1
2
3
4
Console.Write("Enter time in 'HH:mm[:ss]' format: ");
var time = TimeSpan.Parse(Console.ReadLine());
Console.WriteLine($"Rounded to hours: {RoundToHours(time)}");
Console.WriteLine($"Rounded to minutes: {RoundToMinutes(time)}");
1
0 / 0 / 0
Регистрация: 04.05.2016
Сообщений: 21
12.07.2018, 17:21  [ТС] 4
Хм, видимо так. По крайней мере на разных тестах все прекрасно работает, как и должно быть. Спасибо большое! Я думал, все сложнее будет

Добавлено через 3 часа 2 минуты
Цитата Сообщение от Biger18 Посмотреть сообщение
m+=s/30;
h+=m/30;
h*=(1-h/24);
Только такой код, к сожалению, не проходит проверку временем 23ч 59мин 59с. Он выводит округление 23ч 60мин. Как можно это исправить?
0
1055 / 862 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
12.07.2018, 18:22 5
Округление до часов:
C#
1
2
3
m = (m+s/30) % 60;
h = (h+m/30) % 24;
m = s = 0;
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.07.2018, 18:22

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Преобразование часов в минуты или секунды
Написать программу преобразования часов в минуты или секунды по выбору пользователя.

Какое время будут показывать часы через p-часов, d-минут
Помогите решить задачки пожалуйста....заранее большое спасибо линейные алгоритмы. 1.Текущее...

Какое время будут показывать часы через р часов q минут r секунд?
Текущее показание электронных часов: h часов (0 ≤ h ≤ 23) m минут (0 ≤ m ≤ 59) s...

Какое время будет показывать часы через p часов q минут r секунд?
Собственно дана вот такая задачка: Текущее показание электронных часов: m (0<=m<=23) : n...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.