2016-03-15 2 views
-1

Мне нужно написать программу, которая вычисляет добавление двух раз в C# Пример: time1 = 04:21:57 time2 = 01:54:26 result = 06:16:23. Я все еще не очень хорошо знаком с языком, и я застрял, как клей на эту проблему, не в состоянии найти решение. Буду признателен за вашу помощь.Программа, которая вычисляет добавление двух раз

+0

Какой тип времени1 и время2? –

+0

Если вы google 'C# time', я уверен, что вы найдете ответ довольно быстро. – Rob

+0

Если цель этого упражнения является академической и демонстрировать такие вещи, как условная логика, тогда сначала подумайте об упражнении на листе бумаги. Если вы были компьютером и у вас были эти два входа, какие шаги вы предпримете для выполнения математики? Ясно, что вы не можете выполнять математику по строкам, так как бы вы превратили их в значимые числа? Как вы могли бы выполнить вычисления на этих числах? Как бы вы вернули результат в строку времени? Аспект C# этого минимален, это больше о логике. – David

ответ

1

Похоже, что вы называете «время» на самом деле временной интервал, то есть разницу между двумя абсолютными временами.

Если это верно, .NET предлагает хороший тип данных для решения проблемы: он называется TimeSpan. Вы можете выполнить синтаксический анализ и добавление так:

var a = TimeSpan.Parse("01:54:26"); 
var b = TimeSpan.Parse("06:16:23"); 
var c = a + b; 
Console.WriteLine(c); 

Demo.

Обратите внимание, что результат может превышать 24 часов, в этом случае сумма будет выражаться в днях, часах, минутах и ​​секундах.

0

Во-первых, попробуйте определить класс «Время», у которого есть значение данных int (часы, минуты, сек) и определить некоторые частные методы private (например, увеличить часы, когда у вас есть 60 минут, и установить 0 мин, такая же настройка для secunds)

Теперь, в вашей основной программе, определите два временных объекта, и с помощью метода, который вы разработали, вы получите выход.

+0

Или просто используйте 'DateTime'. Что произойдет в вашем классе, если вы добавите '16: 00: 00' и' 20: 00: 00'? – Rob

+0

Нет, потому что я думаю, что он студент, и это не цель его упражнений –

1

Я не дам вам код, я просто дам вам идею:

Поскольку вы не предоставили достаточно информации, я буду считать, что TIME1 и time2 являются строками. Вам нужно разбить их на делиметр «:», тогда вам сначала нужно добавить секунды, и вы вычислите модуль данной суммы на 60 (например, если вы получаете 72, модуль равен 12, так что это будет ваш результат), а также разделение этой суммы на 60 (вы получите либо 1, либо 0, целое деление). Вы добавите это на сумму минут в качестве перевода. Сделайте то же самое на сумму минут, модуль на 60, это минуты, разделите на 60 и добавьте к сумме часов.

Смежные вопросы