Grundrechenarten/Problem beim kompilieren\



  • Hallo Zusammen,

    wollte ein Programm zum üben der Grundrechenarten schreiben, leider bringt er mir immer eine Fehlermeldung beim kompilieren. 😞
    Die Fehlermeldung:

    main.cpp: In function int main()': main.cpp:29: error: expected;' before "cout"
    make.exe: *** [main.o] Error 1

    Weiß jemand was ich falsch gemacht haben könnte? 😕
    Nutze übrigens Dev C++
    Grüße

    /*
    Name: kpvds
    Copyright: nö
    Version: 1.0
    Date: 17.03.09 18:07
    Description: Übung c++ Buch 3.7.1
    */

    #include <iostream>

    using namespace std;

    int main()
    {
    long zahl1,zahl2,zahl3,zahl4,zahl123,EnGe;

    cout <<"Geben Sie den ersten Summand ein!" << endl;
    cin >>zahl1;

    cout <<"Geben Sie den zweiten Summand ein!" << endl;
    cin >>zahl2;

    cout <<"Geben Sie den dritten Summand ein!" << endl;
    cin >>zahl3;

    zahl123 = zahl1+zahl2+zahl3

    cout <<"Addition durchgeführt..." << endl;
    cout <<" Das Ergebnis lautet: " << zahl123 << endl;

    cout <<"Geben Sie einen Multiplikator ein!" << endl;
    cin >>zahl4;

    EnGe = zahl123*zahl4;
    cout <<"Das Endergebnis lautet:" << EnGe << endl;
    cout <<"PROGRAMMENDE!!!" << endl;

    system("PAUSE");
    return EXIT_SUCCESS;
    }



  • main.cpp:29: error: expected `;' before "cout" sagt dir, dass du kurz davor ein Semikolon (;) vergessen hast.



  • Wenn du in Zukunft nochmal was posten solltest, benutze dafür bitte die Cpp-Tags, die ,indem du vor deinem geschrieben Text cpp in [] schreibst und nach dem Text /cpp in [] schreibst, funktionieren. Außerdem möchte ich noch zu deinem Programm sagen, dass es vielleicht besser, in meinen Augen zumindest, wäre, wenn du statt long evtl. int oder double nimmst und die Variablen untereinander schreibst. Also statt

    long zahl1,zahl2,zahl3,zahl4...
    

    dann schreibst

    long zahl1;
    long zahl2;
    long zahl3;
    long zahl4;
    ...
    

    Wobei das in deinem Fall natürlich ein bisschen lästig ist. Die Variable EnGe ist eig. überflüsslig und die Variable "zahl123" kannst du in "ergebnis" umbenennen, womit du Speicher sparst.

    fy



  • Wenn ich das richtig seh muss dein Code so heißen

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
    long zahl1,zahl2,zahl3,zahl4,zahl123,EnGe;
    
    cout <<"Geben Sie den ersten Summand ein!" << endl;
    cin >>zahl1;
    
    cout <<"Geben Sie den zweiten Summand ein!" << endl;
    cin >>zahl2;
    
    cout <<"Geben Sie den dritten Summand ein!" << endl;
    cin >>zahl3;
    
    zahl123 = zahl1+zahl2+zahl3;
    
    cout <<"Addition durchgeführt..." << endl;
    cout <<" Das Ergebnis lautet: " << zahl123 << endl;
    
    cout <<"Geben Sie einen Multiplikator ein!" << endl;
    cin >>zahl4;
    
    EnGe = zahl123*zahl4;
    cout <<"Das Endergebnis lautet:" << EnGe << endl;
    cout <<"PROGRAMMENDE!!!" << endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
    }
    

    hattest einfach nach

    zahl123 = zahl1+zahl2+zahl3
    

    das Semikolon vergessen



  • Danke für die vielen und schnellen Antworten und sorry das ich euch mit so einem
    Anfänger Fehler beschäftige... 🙄 ...

    @The-Kenny: Danke, hast es als erster gesehn! 🙂 👍

    @FreakY<3cpp: Sorry dafür und danke für den Hinweis. Man wird nicht in allen Foren so höflich hingewiesen. 👍
    Vielleicht kann das ein Admin kurz verschieben?!
    Zu deinen Verbesserungsvorschlägen:

    1. Die Variablen untereinander schreiben hatte ich auch zuerst vor. In meinem Buch von André Willms wird diese Option nur aufgeführt und ich wollte es mal testen. Übersichtlicher ist es meiner Meinung nach aber auch.

    long
    ...hab ich gewählt weil der speicherbare Zahlenbereich so groß ist. Bei

    int
    befürchtete ich einen zu kleinen Zahlenbereich.(+/- 32768 laut meinen Buch)

    double
    kenne ich noch nicht! Wie groß ist denn da der Zahlenbereich und benötigter Speicher?! "long" braucht 4 Byte hab ich gelesen!

    @Jockel55: Auch richtig! 😃

    Ich werd mal das nächste Kapitel angehen und fleißig üben...

    Grüße 🕶



  • kpvds schrieb:

    Bei int befürchtete ich einen zu kleinen Zahlenbereich.(+/- 32768 laut meinen Buch)

    Das ist der minimale Wertebereich (16 Bit). Auf 32-Bit-Systemen ist int meistens auch 32 Bit gross. Aber zur Sicherheit long zu nehmen schadet auch nicht. 😉

    kpvds schrieb:

    kenne ich noch nicht! Wie groß ist denn da der Zahlenbereich und benötigter Speicher?!

    Das ist auch nicht strikt festgelegt. double ist jedoch ein Fliesskommatyp, soll also Dezimalzahlen repräsentieren (daneben gäbe es noch float und long double ). Ganzzahlen können unter Umständen nicht exakt dargestellt werden, dafür nimmst du besser integrale Typen wie long .


Log in to reply