Golfi1812 Geschrieben 7. Januar 2011 Geschrieben 7. Januar 2011 Hallo liebe Forumler Das ist mein erster Beitrag und gleich ein Problem: Ich habe folgendes Programm geschrieben: #include "std_lib_facilities.h" #include "conio.h" int main() { cout << "Geben Sie einen Gleitkommawert ein: "; double n; cin >> n; cout << "n == " << n << "\nn+1 == " << n+1 << "\ndreimal n == " << 3*n << "\nzweimal n == " << n+n << "\nn zum Quadrat == " << n*n << "\nHaelfte von n == " << n/2 << "\nWurzel von n == " << sqrt(n) << endl; getch(); return 0; } Hier wird ja eine double Variable also eine Gleitkommazahl mit mehreren Operationen getestet. Doch leider wird die Gleitkommazahl nachdem sie z.b. dreimal genommen wird als integer Wert ausgeben,also nicht als Dezimalzahl so wie es sein soll (jedoch ist das nicht so bei dem Wurzel ziehen) Wie erreicht man eine Ausgabe als Dezimalwert? Vielen Dank schonmal im Vorraus.
Klotzkopp Geschrieben 7. Januar 2011 Geschrieben 7. Januar 2011 Gib doch mal ein Beispiel für Eingabe und Ausgabe.
Golfi1812 Geschrieben 7. Januar 2011 Autor Geschrieben 7. Januar 2011 Wenn die double 12.2 ist und sie wird verdreifacht sollte ja die Ausgabe 36.6 sein aber die Ausgabe ,die ich erhalte, ist 36. Übrignes: Ich programmiere mit Windows Visual 2010 Win32 Konsolenanwendungen (falls das relevant ist).
flashpixx Geschrieben 7. Januar 2011 Geschrieben 7. Januar 2011 Um die Dezimalstellen richtig auszugeben kann man folgendes verwenden: precision - C++ Reference oder printf - C++ Reference
Klotzkopp Geschrieben 7. Januar 2011 Geschrieben 7. Januar 2011 Wenn die double 12.2 ist und sie wird verdreifacht sollte ja die Ausgabe 36.6 sein aber die Ausgabe ,die ich erhalte, ist 36.Kann ich nicht reproduzieren. Allerdings habe ich den Header <std_lib_facilities.h> nicht, vielleicht macht der irgendeinen Quatsch. Ich programmiere mit Windows Visual 2010 Win32 Konsolenanwendungen (falls das relevant ist).Ich auch. Versuch's bitte mal damit: #include <iostream> #include <conio.h> int main() { using namespace std; cout << "Geben Sie einen Gleitkommawert ein: "; double n; cin >> n; cout << "n == " << n << "\nn+1 == " << n+1 << "\ndreimal n == " << 3*n << "\nzweimal n == " << n+n << "\nn zum Quadrat == " << n*n << "\nHaelfte von n == " << n/2 << "\nWurzel von n == " << sqrt(n) << endl; getch(); return 0; }[/code]
Golfi1812 Geschrieben 7. Januar 2011 Autor Geschrieben 7. Januar 2011 Okay Danke an euch beide. Die headerdatei wird von einem Buch mit dem ich C++ lerne bereitgestellt. Das Programm ist als Beispielprogramm angegeben. Aber na gut. Ich werde jetzt den iostream benutzen . Danke
Mttkrb Geschrieben 7. Januar 2011 Geschrieben 7. Januar 2011 Hallo, multipliziere die Zahl mal mit 3.0 und nicht mit 3 . Es sieht danach aus, dass die Zahl nach der Multiplikation auf Integer gecastet wird, wenn nicht beide Operatoren double-Werte sind. Gruß Jogibaer0411
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden