C++ Kommazahlen ausgeben



  • Hallo liebe Community,

    ich habe jetzt erst angefangen C++ in der Schule zu lernen und nun muss ich eine Aufgabe erledigen. Doch dabei gibt es ein problem:

    # include <iostream>
    
    using namespace std;
    
    int x = 3;
    
    int y = 5;
    
    int erg;
    
    int main ()
    
    {
    
    erg = x+y;
    
    cout << "Das ist die Variable: " << erg << endl;
    
    erg = x-y;
    
    cout << "Das ist die Variable: " << erg << endl;
    
    erg = x*y;
    
    cout << "Das ist die Variable: " << erg << endl;
    
    erg = x/y;
    
    cout << "Das ist die Variable: " << erg << endl;
    system ("pause");
    return 0;
    
    }
    

    Bei 3/5 gibt er ja 0 als Ergebnis raus,weil er keine Kommazhalen ausgibt. Nun eben die Frage wie kann ich das Programm umschreiben das es 0,6 bei 3 geteilt durch 5 (3/5) ausgibt?

    Tut mir leid lerne es erst jetzt und daher null Erfahrung.



  • "int" ist ein ganzzahliger Datentyp.

    schau doch mal, ob du vielleicht einen Datentyp für Fließkommazahlen findest.



  • Die Typen float , double und long double sind Fließkommazahltypen - geordnet nach Genauigkeit.
    Caste im Divisions-Ausdruck eine der beiden int s nach float und es sollte klappen.



  • cout.precision(2);
    cout << <deine variable> ;
    

    mit precision hast du nun eine nachkommastelle.

    für gleitzahlen siehe die datentypen, die bereits genannt wurden.

    mfg



  • mit precision hast du nun eine nachkommastelle.

    Nicht, wenn er keinen Fließkommatyp verwendet. Und wenn er das tut, dann braucht er (zumindest noch) kein setprecision .



  • RealTyphoon schrieb:

    ...angefangen C++ in der Schule zu lernen...

    Leider merkt man, das du dies in der Schule lernst. Neben der Anmerkung der Gleitkommazahl, solltet du nach Möglichkeit:
    a) Keine globalen Variablen nutzen.
    b) Nicht unsinnige Leerzeilen und Leerzeichen einfügen (Trennen kann Sinn machen, sollte aber nicht Inflationär verwendet werden, das bringt keine Übersicht, im Gegenteil).
    c) Sinnvoll einrücken (Dient der Übersicht).
    d) Abkürzungen vermeiden (Um so besser dein Code lesbar ist, um so eher verstehst du ihn auch noch ein halbes Jahr später).

    Mal eine Alternative:

    #include <iostream>
    using namespace std;
    
    int main ()
    {
        float x = 3;
        float y = 5;
        float ergebnis;
    
        ergebnis = x+y;
        cout << "Das ist die Variable: " << ergebnis << endl;
    
        ergebnis = x-y;
        cout << "Das ist die Variable: " << ergebnis << endl;
    
        ergebnis = x*y;
        cout << "Das ist die Variable: " << ergebnis << endl;
    
        ergebnis = x/y;
        cout << std::setprecision(2) << "Das ist die Variable: " << erg << endl;
    
        system ("pause");
        return 0;
    }
    


  • Du hast noch den Header für std::setprecision vergessen und brauchst kein std:: mehr schreiben.
    Hier eine noch kürzere Fassung:

    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    int main(){
        float x = 3, y = 5;
        cout << "Das ist die Variable: " << x+y << '\n'
            << "Das ist die Variable: " << x-y << '\n'
            << "Das ist die Variable: " << x*y << '\n'
            << setprecision(2) << "Das ist die Variable: " << x/y << endl;
        system ("pause");
    }
    



Anmelden zum Antworten