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

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

12.07.2018, 13:16. Просмотров 1183. Ответов 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)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2018, 13:16
Ответы с готовыми решениями:

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

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

Из секунд - часы, минуты и секунды. Из минут - часы, минуты
private void button4_Click(object sender, EventArgs e) { if (textBox3.Text ==...

Что будут показывать часы через dh часов, dm минут?
Часы показывают h часов, m минут. Что они будут показывать через dh часов, dm минут? Шкала на 12...

Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) когда совпадут минуты и часы
Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) до того момента ...

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

Решение

C#
1
2
3
m+=s/30;
h+=m/30;
h*=(1-h/24);
так что ли?
1
kolorotur
Эксперт .NET
11876 / 9433 / 2411
Регистрация: 17.09.2011
Сообщений: 16,147
Завершенные тесты: 1
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
Blurryface
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
Learx
1047 / 854 / 194
Регистрация: 31.03.2010
Сообщений: 2,498
12.07.2018, 18:22 5
Округление до часов:
C#
1
2
3
m = (m+s/30) % 60;
h = (h+m/30) % 24;
m = s = 0;
0
12.07.2018, 18:22
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2018, 18:22

Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) когда совпадут минуты и часы
Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) до того момента ...

Написать функцию перевода времени, заданного в секундах или минутах в часы, минуты, секунды
написать функцию перевода времени, заданного в секундах или минутах в часы, минуты, секунды....

Класс "Время" с полями - часы, минуты, секунды
Класс время. Поля -часы,минуты,секунды. Перегрузки: +,-...


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

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

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