2016-04-07 3 views
-2

ich wissen will, was Codierung aussieht, wenn ich einen Fall wie diesen:berechnen gleiche Elemente mit unterschiedlichen Menge

I 3 Artikel kaufen müssen (es ist wie Kassierer Anwendung):

  • Artikel A
  • Artikel B
  • Artikel C

Fall:

  • Wenn ich Artikel A mehr als 3 Ich habe 10% Rabatt für Punkt A.
  • Wenn die Menge von Punkt A und B mehr als 3 Ich habe 5% Rabatt für insgesamt 2 diese Artikel kaufen.
  • wenn ich Artikel A mehr 3 oder Artikel C mehr als 2 kaufe, habe ich 7% Rabatt für die gesamte Zahlung.

Was ich weiß ist, wie dieses, aber es funktioniert nicht:

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

Ist 'itemA' die Nummer von Item As oder deren Preis? – Biffen

+0

@Zippy Das Bearbeiten machte es tatsächlich noch schlimmer, ich kehrte zum Bearbeiten von Biffen zurück (wahrscheinlich aufgrund des Beginns der Bearbeitung, bevor Biffen seine angewendet hatte). –

+0

Element A ist die Nummer –

Antwort

0

versuchen, die Summe ohne Abzug zu finden und dann über alle anwendbaren Rabatte hinzufügen. Also als Pseudo-Code:

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. 
} 

Und alles, was Sie tun müssen, ist die Rabatte jetzt anwenden. Wenn Sie nur einen Rabatt beantragen möchten, ordnen Sie sie der Wichtigkeit an und verwenden Sie else if.

+0

und wie wenn ich den Rabatt in 'cout' anzeigen möchte –