C++ Neuling


  • Mod

    Kannst du irgendeines der Teilprobleme lösen? Die Eingabe zu überprüfen ist sicherlich erst einmal das unwichtigste von den drein, da kannst du auch erst einmal ignorieren, wenn die Zahl <1 oder >100 sein sollte.

    Eines noch: Compiliere auch immer mit vollen Warnoptionen, der Compiler kann dich auf viele Fehler aufmerksam machen, die Anfänger gerne machen, die er aber normalerweise schlucken muss, da angenommen wird, dass der Programmierer weiß, was er tut. Zum Beispiel deine Zeilen 9 und 10 sollten recht aufschlussreiche Warnungen ergeben. Die Zeilen 14 und 25 dürften gar nicht funktionieren.

    edit: Na, da hast du jetzt aber Glück, dass du deine Hausaufgaben bekommen hast, ganz ohne heute etwas zu lernen. Dann dürfen wir uns gewiss schon auf nächste Woche freuen, wo du noch viel verzweifelter sein wirst, da du diese Woche nicht gründlich nachgearbeiten wirst und die Aufgabe nächstes Mal viel schwerer wird.



  • der compeiler zeigt mir fehler in der 9,10,13,14,25,26 zeile an

    edit: SeppJ, ich bin nicht hier um die Hausübung gemacht zu bekommen, sondern ich will es selber versteht

    und dieses programm verstehe ich onehin nicht



  • hallo,
    also für den ersten Tag finde ich die Hausaufgabe schon bisschen viel...

    welche Sprachelemente habt ihr denn schon behandelt?
    - Variablendeklaration/-definition
    - variablentypen (int,bool,char,string,...)
    - schleifen (while,for,...)
    - bedingungsprüfung (if, switch/case,...)
    - funktionen
    - ein/ausgabe (cin/cout,printf,gets,...)

    habt ihr schon ein Programm compiliert? (welcher compiler,Entwicklungsumgebung/Konsole)

    prinzipell sind die teilpeobleme schon gut formuliert...die 3 wenn-sätze kannst du in eine switch/case-unterscheiden oder if/else verwenden

    für die Zahlenreihe brauchst du eine Schleife (z.b. for) die nacheinander die zahlen anzeigt (cout).

    sonst versuche das Programm stückchenweise zum laufen zu bekommen:

    1. Problem Eingabe (programm, was nur deine eingabe verwertet und wieder ausgibt)
    2. prüfung auf bestimmte eingabe...Eingabe auf die werte (>50 oder <50) prüfen und nur anzeigen welcher Fall eingetreten ist
    ...

    hoffe, ich konnte dir auch bisschen helfen

    Gruß Frank



  • danke für eure Hilfe, hb es hinbekommen!

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        int zahl,x;
        zahl=100;
        cout << "Geben sie eine Zahl zwischen 1 und 100 ein" << endl;
        cin >> x;
    
            if(x<50)
    
            { while(x>=1)
                {
                    x=x-1;
                    cout << x <<endl;
                }
            }
    
            else
    
            { while(x<=99)
                    {
                     x=x+1;
                     cout << x << endl;
                    }
            }
    
        return 0;
    }
    

  • Mod

    👍
    Und wenn x gleich 50 ist?



  • @Auch C++ Neuling: bitte nächstes Mal bei solchen Fragen keine Komplettlösungen posten, sonst ist der Lerneffekt minimal.



  • Kleine Anmerkung: Die eingegebene Zahl wird bei dir nicht ausgegeben.



  • @wurstinator Die eingegebene Zahl wird ausgegeben.



  • Nein, sie steht nur in der Konsole, weil du sie vorher eingibst.

    Wenn du die Zwischenzeichen bei der Ausgabe etwas veränderst, sieht man das gut:

    int main()
    {
        int zahl,x;
        zahl=100;
        cout << "Geben sie eine Zahl zwischen 1 und 100 ein" << endl;
        cin >> x;
    	cout << endl << endl;
    
            if(x<50)
    
            { while(x>=1)
                {
                    x=x-1;
                    cout << x << ' ';
                }
            }
    
            else
    
            { while(x<=99)
                    {
                     x=x+1;
                     cout << x << ' ';
                    }
            }
    
        return 0;
    }
    

    Ausgabe:
    77

    78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100



  • ok danke für den tipp 👍



  • Niko.S schrieb:

    ...
    Das Programm sollte so laufen:
    -ich geben eine Zahl zwischen 1 und 100 ein
    ...
    -wenn diese Zahl gleich 50 ist, soll die Zahlenreihe nach oben und unten gehen

    Der Fall das die Zahl kleiner als 1 oder gar grösser als 100 ist wird in deinem Code (bisher) nicht berücksichtigt 🙂 und auch der dritte Punkt welcher erfüllt sein muss (wenn die Eingabe gleich 50 ist) 😃

    Gruss


Anmelden zum Antworten