Richtige Format ausgabe mit immer nur 2 Stellen nach dem Komma



  • Hallo liebe Community,

    das ist mein erster Beitrag, ich hoffe ich mache nichts falsch^^.

    Ich habe erst neu angefangen C++ zu lernen und habe ein wahrscheinlich leichtes
    Problem, nur komme ich nicht selber auf die Lösung.

    Hoffe jemand kann mir helfen.

    Mein Code sieht so aus:

    #include <iostream>
    #include <iomanip>

    using namespace std;

    int main()
    {
    float j[10];
    float sum;
    int i=0;

    for(i;i<10;i++)
    {

    cout << "Enter the price of product " << i << " in EUR : " << " ";
    cin >> j[i] ;

    sum = j[0]+j[1]+j[2]+j[3]+j[4]+j[5]+j[6]+j[7]+j[8]+j[9];

    }

    cout << "\n";
    cout << " I N V O I C E" << endl;
    cout << " -------------" << endl;
    cout << " -------------" << endl;

    for(i=0;i<10;i++)

    {

    cout << setiosflags(ios::right) << setw(10)<< j[i] << " EUR" << endl;

    }

    cout << " -------------" << endl;

    cout << setiosflags(ios::right) << setw(10) << sum << " EUR" << endl;

    return 0;
    }

    Die Ausgabe nach den eingegebenen Zahlen soll z.b so aussehen:

    I N V O I C E
    -----------------

    __23.22 EUR
    __12.12 EUR
    1212.23 EUR
    ___2.23 EUR
    _232.23 EUR
    __33.55 EUR
    _344.33 EUR
    3423.45 EUR
    ___3.32 EUR
    ___1.11 EUR
    ----------------
    5287.70 EUR

    DIE " __ " wegdenken , wusste nicht wie man das hier zentriert Posten kann 😕

    Es funktioniert soweit alles , dass die Zahlen rechtsbündig sind, das "EUR" immer untereinander und das Ergebnis richtig ist.
    Es fehlt nur noch das wenn ich 3.3333 eingebe es nur 2 Stellen nach dem Komma sein soll, genauso wenn ich 1.1 eingebe es 1.10 stehen soll. Also immer im richtigen Format...
    😕 😕 😕

    Entschuldigen sie bitte die Rechtschreibfehler 🙂

    VIELEN DANK 🙂



  • Geld speichert man nicht in floats. Nimm lieber int und speicher die Beträge in Cents. Dann schreib dir eine Funktion, die dir einen String des Formats [Euro].[Cents] EUR zurückgibt.


Anmelden zum Antworten