2016-04-07 6 views
-2

Я хочу знать, что кодирование будет выглядеть, если у меня есть такой случай:Вычислить те же элементы с различным количеством

У меня есть 3 пункта, чтобы купить (это как приложения кассира):

  • Пункт А
  • Пункт B
  • Пункт C

случай:

  • Если я покупаю товар более чем 3 я получил скидку 10% для элемента A.
  • Если количество пункта А и В более чем 3 я получил 5% скидку на общую сумме этих 2-х предметов.
  • если я куплю товар более 3 или товар C более чем 2, я получил скидку 7% на общую сумму платежа.

То, что я знаю, как это, но он не работает:

if (itemA > 3) 
{ 
    total1=itemA-itemA*10/100; 
    total=total1+itemB+itemC; 
} 
if (itemA+itemB > 3) 
{ 
    total2=(itemA-itemA*5/100)+(itemB-itemB*5/100); 
    total=total2+itemC; 
} 
if (itemA > 3 || itemC > 2); 
{ 
    total=itemA+itemB+itemC*7/100; 
} 
+0

Является ли 'itemA' номером товара как по цене, так и по цене? – Biffen

+0

@ Zippy Это редактирование на самом деле усугубило меня, я вернулся к редактированию Biffen (вероятно, из-за начала редактирования до того, как Биффен применил его). –

+0

Элемент A является номером –

ответ

0

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

total = num_a*price_a + num_b*price_b +num_c*price_c; 
if (num_a > 3) 
{ 
    total -= discount for a. 
} 

if (num_a + num_b > 3) 
{ 
    total -= discount for b. 
} 

if (num_a > 3 || num_c > 2) 
{ 
    apply 7% discount. 
} 

И все, что вам нужно сделать, это применить скидки сейчас. Если вы хотите применить только одну скидку, поместите их в порядке важности и используйте else if.

+0

и как, если я хочу показать скидку в 'cout' –

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