Probleme mit der Umrechnung von Kilometer in Meilen
-
Hallo ich versuche seit gestern C++ zu programieren.
Ich möchte ein Programm schreiben welches den Benutzer Auffordert eine Kilometerzahl einzugeben und danach soll diese Zahl in Meilen umgerechnet darunter erscheinen.
Ich habe es schon versucht aber wenn ich eine Kilometerzahl eingebe kommt dann das 0 Kilometer 1 Meile sein sollen...
Hier mal das was ich gebastelt habe.
Wie gesagt ich kenne C++ erst seit gestern also seid bitte gnädig mit mir
// Kilometer in Meilen Umwandeln
#include <iostream>
using namespace std;int main()
{
double Kilometer;
double Meilen;cout << "Kilometer: ";
cin >> Kilometer;Meilen = 1; Kilometer = 0,621371192; Meilen;
cout << Kilometer
<< " Kilometer ensprechen "
<< Meilen
<< " Meilen" << endl;
cin.get();
system("PAUSE");
return 0;
}Ich hoffe ihr könnt mir helfen.
Meine eigene Befüchtung ist das diese Zeile:
Meilen = 1; Kilometer = 0,621371192; Meilen;
nicht funktioniert.Gruß Db
-
Die drei Befehler in der Zeile funktionieren wunderbar. Zuerst wird Meilen mit 1 belegt, dann Kilometer mit 621371192, dann wird nichts mit Meilen gemacht.
Zunächst mal schreibe jede Anweisung in eine neue Zeile, dann siehst Du auf den ersten Blick dass die dritte nichts macht ausser Meilen zu lesen. Dann schreibt man dezimale Literale in C++ mit Punkt . statt Komma , - und zu guter Letzt solltest Du in die Zeile vielleicht noch eine Rechenoperation (Division / oder Multiplikation * ) einbauen, damit überhaupt etwas berechnet wird.
EDIT: Achja, und benutze bitte cpp-Tags
-
nur mal so als tip, du verlangst von dem User die eingabe der Kilometer, im nächsten Schritt überschreibst du jedoch die eingabe wieder mit dem 0,62...
Kilometer = 0,621371192;desweiteren was soll diese Zeile machen
Meilen = 1; Kilometer = 0,621371192; Meilen;??
Weiterhin sehe ich nirgends eine umrechnung des eingegeben in die entsprechende einheit??
Irgendwas lief da schief? Lies dir lieber nochmal ein Tutorial durch

-
Okay also habe das jetzt etwas geändert.
Das Programm scheint jetzt auch zu rechnen aber dann schreibt es bei der Ausgabe den Meilen wert wo eigentlich der eingegebene Kilometer wert stehen sollte und dann nochmal 0.6.... und ich weiß nicht warum...
Sieht abgeändert so aus:// Kilometer in Meilen Umwandeln
#include <iostream>
using namespace std;int main()
{
double Kilometer;
double Meilen=0.621371192;cout << "Kilometer: ";
cin >> Kilometer;Kilometer = Kilometer * Meilen;
cout << endl << Kilometer
<< " Kilometer ensprechen "
<< Meilen
<< " Meilen" << endl;
cin.get();
system("PAUSE");
return 0;
}Gruß und danke für die Antwort hat mir schon mal weitergeholfen mit dem .

-
Ja die Zeile war irgentwie Sinnlos

-
Weil du Kilometer veränderst.
Teil es doch besser auf in:
a) Kilometer (wie jetzt)
b) Faktor (statt dem bisherigen Meilen)
c) Meilen = Kilometer * Faktor;
Und dann Kilometer und Meilen ausgeben.
-
Ich hab es jetzt so wie ich es haben will.
So siehts aus. Ich finde ein bisschen komisch aber es geht

// Kilometer in Meilen Umwandeln
#include <iostream>
using namespace std;int main()
{
double Kilometer;
double Meilen=0.621371192;cout << "Kilometer: ";
cin >> Kilometer;Kilometer * Meilen;
cout << endl << Kilometer
<< " Kilometer ensprechen "
<< Kilometer * Meilen
<< " Meilen" << endl;
cin.get();
system("PAUSE");
return 0;
}Danke für eure Hilfe!

-
Für das nächste mal: Benutz bitte Code Tags. Gibt ja extra einen C/C++ Button.

-
Mr WunguDb schrieb:
Ich hab es jetzt so wie ich es haben will.
Naja, aber du solltest dich trotzdem noch genauer mit den Grundlagen befassen. Dann würdest du auch Zeilen wie die folgenden nicht mehr schreiben:
Kilometer * Meilen;cin.get(); system("PAUSE");Und wie schon einige Male gesagt wurde: Benutz C/C++-Tags, das ist die erste Schaltfläche unter dem Textfeld.
-
Ok also
Kilometer * Meilen;habe ich schon gelöscht ist mir auch vorhin aufgefallen
undcin.get(); system("PAUSE");das brauche ich normalerweise nur 1 mal also 1 davon oder?
-
Mr WunguDb schrieb:
cin.get(); system("PAUSE");das brauche ich normalerweise nur 1 mal also 1 davon oder?
Ja, wobei du bei
cin.get()evtl. vorher den Puffer leeren musst. Deshalb würde ich dir zusystem("pause")raten, denn obwohl das einige Nachteile hat, ist es für den Anfang am einfachsten zu benutzen. Du solltest einfach davon wegkommen, wenn du grössere Projekte hast oder Anwendungen portieren willst.
-
Ok danke!
-
hey! hab ma ne kurze frage:
kann man auch folgendes schreiben?
system("PAUSE) return0nobody
-
s schrieb:
hey! hab ma ne kurze frage:
kann man auch folgendes schreiben?
system("PAUSE) return0nobody
Nein, weil es syntaktisch völliger Mist ist.