C++ Hilfe!



  • Hallo,
    ich bin ein c++ neuling (mein 1. tag) und habe eine Frage. Wir machen c++ in der schule durch und haben eine aufgabe bekommen, eine zahlenreihe von 100-1 zu machen, und einen kleinen "dialog". jetzt bekomme ich immer einen error raus, und weiß nicht was zu tun ist. ich bitte um Hilfe!
    danke im vorraus, niko

    #include <iostream>

    using namespace std;

    int main()

    {
    int zahl, i;

    zahl = 100;

    while(zahl>=0);

    {

    cout << zahl << endl;
    zahl = zahl-1;

    cout << "Bitte geben sie eine Zahl ein: ";
    cin >> i;
    cout << "Die Zahl die sie eingegeben haben ist " << i << endl;
    cout << "Das Doppelte ist " << i*2;
    cout << " und die Haelfte ist " << i/2 << endl;

    }

    return 0;

    }



  • Semikolon hinter while ist fehl am Platz.

    Willst Du den Benutzer wirklich 100 Zahlen eingeben lassen?



  • nein, ich will das nicht.
    ich will das die zahlenreihe kommt, und dann soll der dialog kommen



  • ok ich habs schon, danke trotzdem



  • Meinst du so?

    int main()
    {
        int zahl = 100;
        while(zahl>=0) // hier kommt kein ';' denn sonst wäre die Schleife hier schon zu Ende ...
        {
            cout << zahl << '\n'; // Nimm lieber \n.
            --zahl; // entspricht zahl=zahl-1
        } // ... sie soll ja aber erst hier zu Ende sein.
    
        int i;
        cout << "Bitte geben sie eine Zahl ein: ";
        cin >> i;
        cout << "Die Zahl die sie eingegeben haben ist " << i;
        cout << "\nDas Doppelte ist " << i*2;
        cout << " und die Haelfte ist " << i/2; // Vielleicht magst du lieber eine Fließkommazahl nehmen.
    
    }
    


  • wie kann ich wenn ich z.B 5 eingebe: die Hälfte ist 2,5. es kommt aber immer 2 raus.
    wie soll ich das schreiben?



  • Gugelmoser schrieb:

    cout << " und die Haelfte ist " << i/2; // Vielleicht magst du lieber eine Fließkommazahl nehmen.
    

    Wenn du eine Ganzahl durch eine Ganzzahl teilst bekommst du eine Ganzzahl. Willst du keine Ganzzahl musst du eine Fließkommazahl(float, double) nehmen. Sprich double i;



  • So:

    cout << " und die Haelfte ist " << i/2.0;
    


  • Entweder du nimmst gleich double für deine Variable (dann kann man auch Kommazahlen eingeben; beachte . statt ,), oder du schreibst

    i / 2.0 //Jetzt keine Integer-Division mehr, sondern Gleitkomma-Division
    

    MfG

    EDIT: Ich hasse es zu langsam zu sein 😡



  • vielen dank für die zahlreichen antworten!

    Mfg Niko



  • @Niko.S

    Schau dir vll. noch die FOR-Schleife an, die ist auch ganz nett. 🙂


Log in to reply