[C/C++] Deklaration geht nicht

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von FreDDy, 19. Oktober 2011 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 19. Oktober 2011
    Deklaration geht nicht

    Hallo,

    ich habe gerade angefangen C++ zu programmieren (Schule)
    jetzt stoße ich schon auf das erste problem undzwar möchte ich mir einen kleinen Taschenrechner programmieren. Er soll fürs erste nur Addieren.
    Ich muss die die "Variablen" die ich dann eingebe deklarieren.

    Manchmal meldet mir das programm aber einen Fehler der so aussieht: warning C4700: Die nicht initialisierte lokale Variable "summand2" wurde verwendet.


    Hier mal der Quellcode




    using namespace std;
    #include <iostream>




    int main()

    {
    int summand1,summand2,summand3;
    int ergebnis;

    cout<< "Eingabe Summand 1" <<endl;
    cin>> summand1;
    cout<< "Eingabe Summand 2"<<endl;
    cin>> summand2;

    ergebnis=summand1+summand2;

    cout << "wert der Summe" << ergebnis << endl;


    system("pause");
    }



    Warum kann ich nicht so viele "variablen" wie ich möchte einfügen also mit dem int.
    Also so etwa

    int a,b,c,d,e,f;
    int ZAHL1,ZAHL2,ZAHL3;


    Der compiler meckert immer, wenn ich auch nur EINE davon nicht mit "cin" benutze ?
     
  2. 19. Oktober 2011
    AW: Deklaration geht nicht

    der compiler meckert, weil du zwei undefinierte variablen addieren willst.
     
  3. 19. Oktober 2011
    AW: Deklaration geht nicht

    Variablen ohne Initialisierung haben undefinierten Inhalt. Bei so "Low-Level" Sprachen wie C/C++ kann das besonders schlimm sein.

    Deswegen mach es lieber gleich richtig und initialisiere sie.

    Code:
    int summand1 = 0,summand2 = 0,summand3 = 0;
    int ergebnis = 0;
     
  4. 19. Oktober 2011
    AW: Deklaration geht nicht

    Aber ich gebe doch für die "variablen" über cin die erste Zahl ein dann nochmal die zweite zahl.

    Edit: ich möchte dich für Zahl1 und Zahl2 etwas über cin einsetzen.
    Also muss ich ober die Bausteine deklarieren.



    int zahl1;
    int zahl2;
    int ergebnis;

    ergebnis=zahl1+zahl2


    Was ist daran jetzt falsch ?
     
  5. 19. Oktober 2011
    AW: Deklaration geht nicht

    nein, du liest zweimal summand3 ein, rechnest aber mit summand1 und summand2

    die variablen haben keinen wert
     
  6. 19. Oktober 2011
    AW: Deklaration geht nicht

    ups, tippfehler^^

    Sooooo, das was ich jetzt Poste funktioniert aber warum kann ich nicht beliebig mehrere variablen wie zum beispiel: summand3, summand4,sonstwas,summand5
    deklarieren ohne die dann zu benutzen ?



    Das hier funtz!!!


    using namespace std;
    #include <iostream>




    int main()

    {
    int summand1,summand2;
    int ergebnis;

    cout<< "Eingabe Summand 1" <<endl;
    cin>> summand1;
    cout<< "Eingabe Summand 2"<<endl;
    cin>> summand2;

    ergebnis=summand1+summand2;

    cout << "wert der Summe" << ergebnis << endl;


    system("pause");
    }


    aber wenn ich jetzt ober dazuschreibe
    int summand3;

    dann gibts weider nen Fehler. Hoffe ihr versteht was ich meine.
    Muss ich also meine deklarierten variablen ALLE BENUTZEN ?
     
  7. 19. Oktober 2011
    AW: Deklaration geht nicht

    das kommt auf den verwendeten compiler an.

    vermutlich bekommst du warnungen von wegen "unused variable ...". diese sind nicht weiter tragisch und eher zum debugen/optimieren gedacht.

    selbstverständlich sollten unbenutzte variablen vermieden werden, denn auch diese belegen speicher.
     
  8. 19. Oktober 2011
    AW: Deklaration geht nicht

    jetzt funktioniert es. Sorry, dass ich hier mit soeinem anfängerstoff frage. Habe sonst im netz keine schnelle Lösung gefunden.

    Wenn ich jetzt den "summand3" einfach aus dem code rausnehme aber ihn trotzdem mit "int summand3" deklariert habe.Es kommt die fehlermeldung "warning C4101: 'summand3': Unreferenzierte lokale Variable". Diese kann ich ignorieren ?
     
  9. 19. Oktober 2011
    AW: Deklaration geht nicht

    wenn es von dir so gewollt ist: ja
    du solltest sie aber dennoch initialisieren, so wie N0S es oben beschrieben hat.
     
  10. 19. Oktober 2011
    AW: Deklaration geht nicht

    Ich habe jetzt den fehler gefunden.

    Wenn ich oben bei den Deklarationen das "ergebnis=zahl1+zahl2" hinschreibe funktioniert es nicht weil das prog sagt, dass ich variablen verwendet habe.


    Wenn ich "ergebnis=zahl1+zahl2" hinschreibe NACHDEM ich schon für beide variablen was eingegeben habe (mit cin), dann klappt es.

    Ich dachte, dass ich schon am Anfanf des Quellcodes bestimmen kann, dass zum Beispiel das "ergebnis=zahl1+zahl2" ist.
    Das programm besetzt wohl erst diese variablen, wenn man was für eingegeben hat(logisch). Was ich jetzt doof finde ist, dass die Reihenfolge nicht egal ist. (Mir wäre es lieber, wenn ich am anfang sagen kann, dass "x=x1+x2" und "z=x1-x2" etc ist)

    PS: wenn wir schonmal dabei sind, wie kann ich soeinen Quellcode in das Forum posten, dass er in einer "Box" angezeigt wird ? (für das nächste mal schonmal^^)

    Hoffe jemand versteht meine Gedanken^^
    Danke schonmal !!!
     
  11. 19. Oktober 2011
    AW: Deklaration geht nicht

    Das Programm wird von oben nach unten (und in der Zeile von links nach rechts) abgearbeitet und das ohne Ausnahme. Dein Vorschläg würde die schöne Logik zerstören. Es gibt aber sicher irgendwelche Programmiersprachen bei denen das geht...

    Klick auf das Doppelkreuz im Beitragseditor (eventuell musst du vorher den "Erweitert" Button drücken)...
     
  12. 19. Oktober 2011
    AW: Deklaration geht nicht

    PHP:
    Alles klar Dankeschön und closed
     
  13. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.