Warum wird meine Prozentrechnung nicht berechnet.? in C [Gelöst]
-
Hallo,
es ist eine einfache Prozentrechnung die ich machen möchten.
Eingabe Preis
Eingabe Rabatt
Berechnung des Endpreises
Ausgabe EndpreisLeider gibt mein Programm mir einfach den ursprünglichen Preis aus. Was mache ich falsch.?
Danke für Hilfe!
#include <stdio.h> #include <stdlib.h> int main(void) { int n; int Rabatt; float Endpreis; printf("Gebe Preis ein"); scanf("%i", &n); printf("Gebe Rabatt ein"); scanf("%i", &Rabatt); Endpreis=(n-((Rabatt/100) * n)); printf("Endpreis beträgt: %f",Endpreis); return 0; }
Ausgabe
Gebe Preis ein280
Gebe Rabatt ein10
Endpreis beträgt: 280.000000
-
Stichwort: Ganzzahl-Division (bei (Rabatt/100)).
Lösung: erst multiplizieren, dann dividieren
Endpreis = n - (Rabatt * n) / 100);
-
Oder als Fließkommadivision durchführen.
Da reicht es, wenn einer der Paramter ein Fließkommatyp ist.
Z.B.:Endpreis=(n-((Rabatt/100.0) * n));
Das ist zumindest hier sinnvoll, da der Ergebnistyp auch ein Fließkommatyp ist.
-
Danke. Hat funktioniert.