Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Frage zu einer Brechnung (Noob Frage, C++)

Selecta / 17 Antworten / Flachansicht Nickles

Habe mit (Borland C++ Builder 5.0 prof.) folgenden Code geschrieben.
Die Aufgabe war: Ein Bus nimmt pro Person 0.10 Euro und pro gefahrenen Kilometer nochmals 0.10 Euro. Eine Person (Der Leiter) zahlt nur die Hälfte, jede 10. Person fährt Gratis.
Meine Hauptfrage: Wie berechne ich den Gratisbetrag ? Personen / 10 geht ja nicht, da da ein Rest uebrig bleibt, etwa (15/10 = 1.5) und das wäre mehr Freibetrag als es eigentlich sein soll.


#include <iostream>
#include <iomanip>
#include <conio.h>
#include <windows.h>


void main()
{


float person, cost = 0.10, distance, chief, free; // chief soll der Leiter sein, free der Freipreis
cout << "Geben sie die Anzahl der Personen ein: ";
cin >> person;


if (person < 10);   // Dachte ich mach mal mit if, hilft mir nicht, da ich die Berechnung nicht kann, außer person ist < als 10, da die Rechnung wegfiele...
{
cout << endl << "Geben (A) sie die Laenge der Strecke ein: ";
cin >> distance;
cout << endl << "Die Gesamtkosten belaufen sich auf: " <<
((person + distance) * cost) - (cost * 0.5) << " Euro" ;   // Personen und Entfernung * 0.10 und dann fuer eine Person (den leiter) die Haelfte des Peises abziehen
getch();
}


if (person > 10);
{
cout << "Geben (B) sie die Laenge der Strecke ein: ";
cin >> distance;
cout << setprecision(2);
cout << endl << "Die Gesamtkosten belaufen sich auf: " <<
((person * distance) * cost) - (cost * 0.5) - (           ) // so hier weiss ich nicht, was ich da jetzt abziehen soll ... 2 frage; wenn ich nun am anfang mehr als 10 eingebe, kommt trozdem der if < 10 Block ! Warum das?
getch();
}


getch();
}


 


Hoffe ihr versteht mein Problem ... Is bestimmt ganz simpel ... Aber halt schwer zu erklären

GreeTz Selecta

bei Antwort benachrichtigen
mr.escape BIMEX „Hab keine Ahnung, ob es unter C eine Wenn/Dann Funktion gibt wenn WERT X dann...“
Optionen
Es handelt sich bei dem genannten Ansatz um ein Lösungergebnis aus gerundeter Multiplikation von Faktoren.
Aha.

Es müsste nun der sogenannte "kleinste gemeinsame ganzzahlige Nenner" herausgefunden werden.
Hmmm, ggT und kgV kenne ich, aber dieses monster ist mir neu!
Sorry, für solche gedankengänge ist mein gehirn wohl nicht komplex genug! ;)

mr.escape
"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen