-
15.12.2011, 11:30 #1
- Registriert seit
- 30.08.2011
- Beiträge
- 37
Thanked 32 Times in 23 PostsC++ Bonussystem für Kunden einer Warenhaus-Kette
Hey, ich schreib am Mittwoch ne Arbeit in Programmieren und bin gerade am üben... Ich hab nen Problem mit Punkt 5. Ich weiß nicht wie ich das machen soll :/
Pro 10€ Einkauf gibt es einen Punkt, also 38,90€ -> 3 Punkte
Wie krieg ich Variable Preis so hin, das ich die Punkte ausrechnen kann.
38,90/10 = 3,89 und dann cout << fixed und cout.precision(0) hätte ich ja 3, aber damit hab ich ja nur die Ausgabe verändert aber der Wert bleibt bei 38,90,also kann ich nicht damit rechnen. Ich entschuldige mich für die unverständliche Ausdrucksweise.
Mein Code bis jetzt:
PHP-Code:#include <iostream>
using namespace std;
int main()
{
double preis,punkte;
char karte;
cout <<"Geben sie den Preis ein\n";
cin >> preis;
cout <<"Besitzen sie eine Kundenkarte? A,B,C? Wenn nicht, geben sie "S" ein";
cin >> karte;
cout <<"Wieviel Punkte besitzen sie?";
cin >> punkte;
switch(karte)
{
case 'a':
case 'A':
karte = 2;
break;
case 'b':
case 'B':
karte = 1;
break;
case 'c':
case 'C':
karte = 0.5;
break;
case 's':
case 'S':
karte = 1;
break;
}
__________________
Pro 10€ Einkauf gibt es einen Punkt, also 38,90€ -> 3 Punkte
Wie krieg ich Variable Preis so hin, das ich die Punkte ausrechnen kann.
38,90/10 = 3,89 und dann cout << fixed und cout.precision(0) hätte ich ja 3, aber damit hab ich ja nur die Ausgabe verändert aber der Wert bleibt bei 38,90,also kann ich nicht damit rechnen. Ich entschuldige mich für die unverständliche Ausdrucksweise.
-
15.12.2011, 13:02 #2
Beispiel 38.39€ = 3 Punkte
Soll unbedingt case genutzt werden?
Du kannst auch einfach den Double Preis auf int casten und wenn der Einkauf > 10 ist durch 10 teilen.
-
15.12.2011, 13:05 #3
- Registriert seit
- 30.08.2011
- Beiträge
- 37
Thanked 32 Times in 23 PostsBeispiel 38.39€ = 3 Punkte
Dank erstmal an dich Ta1lor das du dir mein Problem durchgelesen hast. Ja ich muss switchcase verwenden.
__________________
Wie ist der Befehl zum konvertieren? Bei C# war es convert.to.int32 oder so. Wie ist das bei C++? Wenn ich 3,99 convert to int, rundet der dann auf 4 auf?
-
15.12.2011, 13:24 #4
Beispiel 38.39€ = 3 Punkte
Du brauchst nicht Konvertieren und es wird auch nicht gerundet. Ich zeig dir mal wie man es machen könnte (Wenn es sein muss, mach halt irgendwie ein Switch daraus).
Code:int nBerechnePunkte(double dNormalPreis, double dNachlass) { int nEinkauf; nEinkauf = dNormalPreis - dNachlass; if (nEinkauf >= 10 && nEinkauf < 20) { return 1; } else if (nEinkauf >= 20 && nEinkauf < 30) { return 2; } else if (nEinkauf >= 30) { return 3; } }
Code:double dEinkauf = dNormalPreis - dNachlass; int nEinkauf = static_cast<int>(dEinkauf);
-
15.12.2011, 13:35 #5
- Registriert seit
- 30.08.2011
- Beiträge
- 37
Thanked 32 Times in 23 PostsBeispiel 38.39€ = 3 Punkte
Deine Methode ist bestimmt besser als die, die die Lehrerin von uns verlangt. Es muss auch simpler gehen ^^
e:
int neuepunkte = preis / 10;
damit geht es über einfach.
Ähnliche Themen
-
Microsoft ködert Apple-Kunden
Von Silidor im Forum IT & Technik NewsAntworten: 22Letzter Beitrag: 25.10.2013, 21:01 -
Kauf einer xBox360
Von Kolle1991 im Forum Microsoft XboxAntworten: 21Letzter Beitrag: 16.04.2012, 14:57 -
Was in einer Internetminute passiert
Von DMW007 im Forum Internet und TechnikAntworten: 3Letzter Beitrag: 03.04.2012, 01:55 -
Wertfrage einer Wii
Von Young Jeezy im Forum NintendoAntworten: 7Letzter Beitrag: 25.02.2012, 23:13
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.