Einfache Aufgabe, wo liegt mein Fehler?



  • geschlossen



  • In Tags, formatiert, und vor allem korrigiert:

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        int zahl;
        cout << "Geben Sie eine zahl ein";
        cin >> zahl;
    
        if ( zahl % 2 == 0)
            cout << "zahl ist gerade" << endl;
    
        else
            cout << "zahl ist ungerade" << endl;
    }
    

    Dein originaler Code war extremer Bullshit (keine Übertreibung)



  • geschlossen



  • Weiß jemand, was ich falsch [mache]?

    Formale Fehler:

    • Direkt vor dem If-Statement steht eine 3 (Z. 13)
    • Direkt hinter dem auszugebenden Zeichenkettenliteral ist eine geschweifte Klammer. (Z. 15)

    Selbstverständliche Unschönheiten:

    • Du gibst EXIT_SUCCESS zurück.
      Erstens ist das in C++ sehr unüblich (bzw. EXIT_SUCCESS sollte in C++ gar nicht benutzt werden), zweitens kannst du das return -Statement gleich weglassen.
    • Du umschließt Zeichenkettenliterale mit geschweiften Klammern? Wieso?
    • Du benutzt system("PAUSE") um das Programm anzuhalten? Wieso nicht cin.get() ?
    • Merkwürdige Zeilenumbrüche.
    • In Beispielen ist das eigentlich egal und in Ordnung, aber es gibt viele gute Gründe using namespace std; nicht global zu benutzen
    • Wieso nimmst du die Kommandozeilenparameter? Du benutzt sie doch gar nicht?

    Besser:

    #include <iostream>
    
    int main()
    {
        int zahl;
        cout << "Geben Sie eine zahl ein";
        cin >> zahl;
        std::cout << "Zahl ist " << (zahl % 2 == 0 ? "gerade" : "ungerade") << '!';
    }
    


  • geschlossen



  • von dem solltest du die Finger lassen. Als Anfänger ist Visual Studio Express brauchbar (kostenlos)

    greetz KN4CK3R



  • wisnia schrieb:

    @ sone:

    Danke für deine Antwort 🙂
    ich benutze Dev C++ , ich weiß nicht ob du den Compiler kennst.
    ich benutze Dev C++
    benutze Dev C++
    Dev C++

    http://clicktobegin.net/programming/why-you-shouldnt-use-dev-c/

    Ist kein Compiler sondern eine IDE. Wenn du was einfaches willst, nimm CodeLite.
    Oder Visual Studio Express oder Code::Blocks oder Eclipse CDT oder Netbeans oder, oder, oder aber bitte kein DevC++.



  • Warum müssen alte Infos wiederholt werden 😕

    Die IDE DEV bis Version 4.9.9.2 oder allgemein vor Version 5.a.b.c sind veraltet.

    Aber es gibt ja jemand der da weiter entwickelt:
    http://sourceforge.net/projects/orwelldevcpp/

    Es gibt ja kaum jemand der noch mit dem OS2 unterwegs ist. Da wollen die meisten doch auch das aktuell neuste OS. 😃

    So, dann macht mal ein Update :xmas2:

    Zur Zeit aktuell DEV 5.3.0.3 mit MinGW 4.6.1 👍

    Auch viele Mitbewerber sind da mit ihren IDE am Start. :xmas1: Sucht euch die für euch beste IDE.



  • geschlossen



  • Okay, das ist natürlich ein Argument.

    Das ist aber nicht so fest voreingestellt bei den "alten" DEVs sondern nur ein Vorschlag. D.h. du kannst das jederzeit ändern oder anderen Quelltext da hin schreiben.

    Haben die euch denn exakt die "alte" Version des des DEV empfohlen?
    Oder, die aktuellere 5.3.0.3 im Link?

    Kannst ja deinen Prof mal fragen 😉

    Das Andere ist natürlich der C++ Quelltext den ihr lernen sollt. Ist das noch "very old school" oder dürft ihr auch etwas aktuelleren Stil schreiben 😕

    Können solltet ihr im Zweifel beides. Denn, wenn ihr später bestehende C++ Projekte erweitern sollt, seid ihr vor keiner C++ Schule wirklich sicher. 🙄

    viel Spass
    f.-th.



  • geschlossen



  • Nein, ich mach das hier so ein bisschen damit meine grauen Zellen nicht einrosten 😉

    C++ Schule sollte eher mit C++ Stil gleichgesetzt werden.

    Es ist auch nicht ganz so wichtig, das ihr wirklich mit dem aller aktuellsten Compiler arbeitet. Aber sehr alte sollten das auch nicht sein. 😉

    Da C++ noch keine tote Sprache zu sein scheint, wird die sich auch noch weiter entwickeln/ändern.

    Du sollst in der Schule den Einstieg lernen und das möglichst gut und sattelfest, damit, wenn du deine Kenntnisse erweitern willst/musst, möglichst wenig Stress bekommst.

    Der oder die alte DEV (vor 4.9.9.2) hat sicher seine Hacken und Ösen. Aber damit echte Probleme solltet ihr in der Schule bei den da anstehenden relativ überschaubaren Aufgaben selten bekommen. Die im Netz geposteten Probleme von Schülern mit dem DEV sind überwiegend auf Bedienfehler zurückzuführen. Ein Problem des DEV war das der "seinen" Compiler, den MinGW 3.4.5, nicht immer optimal ansteuerte. Wenn du denn Verdacht hast der DEV ist Schuld, steuere den MinGW direkt von Kommadozeile oder über ein Makefile an. Eine aktuellere Version des MinGW kannst du ja auch zum Test heranziehen. Und dann eine aktuellere IDE ansehen, damit du Alternativen kennen lernst, ist so schlecht auch nicht.

    Nicht vergessen: der Weg ist das Ziel.

    Viel Spass
    f.-th.


Log in to reply