2014-02-10 3 views
-2

Я все еще новичок в C#, есть ли способ, которым я могу ввести общее время звонка и рассчитать эти сборы и стоимость?Расчет номера

Должен ли я делать заявление if, если в течение минут больше 5 минут он добавляет дополнительную плату и как я могу это сделать?

Стоимость международных звонков рассчитывается следующим образом: Плата за соединение составляет $ 0.99; $ 0,15 за первые 5 минут; и $ 0,09 за каждую дополнительную минуту

 double total, fee, firstmin, latermin; 
     Console.Write("Call total time: "); 
     total = Convert.ToDouble(Console.ReadLine()); 
+9

Похоже, домашнее задание. Что вы уже пробовали? Не пытайтесь полностью решить это в одном заявлении. Просто попробуйте решить проблему по одному шагу за раз. – MarcinJuraszek

+0

Это очень легко сделать с несколькими различными способами. Однако этот сайт не используется как услуга для получения кода. Что вы пробовали? Тогда мы сможем вам помочь. – deathismyfriend

+2

Слишком много людей рассматривают программирование так, как будто оно существует в вакууме. Это не так. Программирование - это всего лишь способ реализации решений реальных проблем. Сначала разрешите проблему, и только потом подумайте о написании кода. Возьмите ручку и бумагу и запишите шаги, которые вы должны выполнить, чтобы решить эту проблему без кода, например, если все это делается на бумаге. После того, как вы знаете шаги, которые вы должны выполнить, вы можете написать код для реализации этих шагов. Причина, по которой так сложно писать код, заключается в том, что вы даже не знаете, что должен делать код. – jmcilhinney

ответ

0

Вы можете использовать следующий код, чтобы вычислить общую стоимость как:

if(total <= 5) 
    fee=0.15; 
else 
    fee=0.15 + (0.09 * (total - 5)); 

fee = connection_fee + fee; 
+0

Есть ли способ без утверждения или это единственное решение? – TheBoringGuy

+1

Вы также можете использовать тернарный оператор, но также работает так же. –

+0

О, я вижу спасибо – TheBoringGuy

0

Вы можете использовать Math.Max избежать if заявление.

fee = 0.99 + 0.15 + (0.09*(Math.Max(total - 5, 0))); 
+0

Что делает Math.Max? – TheBoringGuy

+0

@TheBoringGuy Он возвращает максимум чисел в параметрах, в этом случае максимум 'total-5' и' 0'. Это означает, что если 'total' меньше' 5', тогда он будет возвращать ноль (не отрицательное значение). – serdar

+0

О, спасибо, я вижу – TheBoringGuy

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