Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: Wo liegt der Fehler?

  1. #1
    Kaiserliche Hoheit
    Registriert seit
    01.03.2007
    Beiträge
    1.957
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Wo liegt der Fehler?

    Ich habe nun seit kurzem C++ angefangen zu lernen...
    Bei einem kleinen Test Spiel komm ich nicht weiter!
    Könnt ihr mir sagen wo der Fehler ist?


    Code:
    #include <iostream.h>
    #include <windows.h>
    #include <stdio.h>
    
    int main&#40;int&#41;
    &#123;
        rnd&#40;&#41;;                         //ermöglicht es, randomize &#40;rnd&#41; Befehl zu nutzen
        int zahl;                      //Bindet Wert 1 & 2 als int ein
        int zahl2;                    //        - "" -
        zahl=rnd &#40;101&#41;;          //Generiert Zahl zwischen 1 - 100 
        cout << "Die Zahl liegt zwischen 1 und 100!" << endl;
        
    for &#40;zahl2; != zahl;&#41;        //Schleife solang Wert 1 & 2 ungleich
    &#123;
        cin >> zahl2;             //Benutzer gibt Zahl ein
        
        if &#40;zahl2 >= 100&#41;        //wenn die Zahl größer als 100 ist
        &#123;
            cout << "Ihre Eingegebene Zahl ist groesser als 100! Bitte kleinere Zahl eingeben!" << endl;                 
        &#125;
        
        else if &#40;zahl2 <= 1&#41;     //wenn Zahl kleiner als 1 ist
        &#123;
            cout << "Sie haben eine Zahl kleiner als 1 eingegeben! Bitte größere Zahl eingeben!" << endl;                
        &#125;
            
        else if &#40;zahl2 = zahl&#41;   //wenn Wert1 mit Wert2 übereinstimmt -> cout
        &#123;
            cout << "Gewonnen!" << endl;
        &#125;
            
        else if &#40;zahl2 <= zahl&#41;  //Wenn eingegebener Wert kleiner als der generierte ist
        &#123;
            cout << "Die gesuchte Zahl ist groesser!" << endl;
        &#125;
        
        else if &#40;zahl2 >= zahl&#41;   //Wenn eingegebener Wert größer als der generierte ist
        &#123;
            cout << "Die gesuchte Zahl ist kleiner!" << endl;
        &#125;
           
        else                      //Wenn keiner der Fälle eintritt, kann es keine Zahl sein.
        &#123;
            cout << "Die Eingabe ist keine Zahl! Bitte nochmal versuchen &#58;D" << endl;
        &#125;  
        
        getchar&#40;&#41;;             //Wartet auf Benutzereingabe um evtl. Schleife zu starten.
        
        &#125;                                   //Ende der Schleife
        &#125;                                   //Ende von int main&#40;int&#41;


    Danke
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von Ericfischer (28.10.2008 um 20:12 Uhr)

  2. #2
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    welcher fehler liegt vor?
    damit wir wissen wonach wir suchen
    Something big is coming. And there will be pirates and ninjas and unicorns...

  3. #3
    HTML Newbie
    Registriert seit
    26.06.2008
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    for(zahl2; != zahl
    Das ist nicht der korrekte Syntax einer For Schleife. Der richtige wird so beschrieben

    for(variableninitiierung;Bedingung;variablenänderu ng)

    und sieht z.B. so for(int i=0;i<durchgänge;i++) aus


    Ich würde die while Schleife verwenden da du hier nur eine Bedingung hast bei der die schleife ausgeführt werden soll:

    while(zahl2!=zahl)
    {
    //...
    }

    ansonsten habe ich keine Fehler entdeckt

  4. #4
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Naja, eigentlich for(Anweisung; Boolesche Anweisung; [eventuell eine weiter Anweisung]).
    Dabei ist zu beachten:
    i = 0, j = 0; ist eine Anweisung, ebenso ++i, ++j. i != 12, j != 12; wird aber nicht zum gewünschten Ergebnis führen, da der Wahrheitswert von j != 12 zurückgegeben wird, dann muss i != 12 && j != 12; sein.

    Egal, den Standardfall hat Caed gut beschrieben.

  5. #5
    HTML Newbie
    Registriert seit
    26.06.2008
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    eine boolesche anweisung? *räusper* du meinst bestimmt eine anweisung mit einem boolean ergebnis oder?

  6. #6
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Naja, eigentlich muss es nur ein integer Rückgabetyp sein.
    Ich bin mir nicht sicher, ob Fließkomma oder Enum auch gehen.

  7. #7
    HTML Newbie
    Registriert seit
    26.06.2008
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Es darf aber nur 0 oder 1 sein und die ersten elemente von enum dürften damit auch gelten...

  8. #8
    Fortgeschrittene/r
    Registriert seit
    26.09.2005
    Ort
    Nürnberg
    Beiträge
    169
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Das ist nicht richtig. C/C++ haben umfangreiche implizite Typkonversionen. Das ist unter anderen ein großer Kritikpunkt an diesen Sprachen.

    Aber um das mal hier auf das Beispiel zu beschränken: mehr oder weniger alles was ungleich 0 ist, bedeutet "true".

    Folgender Code:
    Code:
    for&#40;double x = 0.001; d; d=0&#41;
       cout << "klappt" << endl;
    "klappt" wirklich. Und warum ist das jetzt schlecht? Ein Beispiel:
    Code:
    double x;
    x = true;
    Das funktioniert wirklich! Und zwar weil der Boolean Datentyp ein integraler Typ ist und damit auch einem double zugewiesen werden kann. Bei sowas wird mir wirklich schlecht, üble Sache. Sowas sollte nur explizit erlaubt sein...

  9. #9
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    @Wasserleiche:
    Wer aber schreibt "couble x = true;", der ist selbst schuld wenn es zu fehlern kommen kann.
    Muss zwar nicht sein, kann aber
    Da kann man auch gleich "=1" oder "=1.0" schreiben...
    Something big is coming. And there will be pirates and ninjas and unicorns...

  10. #10
    HTML Newbie
    Registriert seit
    26.06.2008
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Mein C++ ist wohl etwas eingerostet

Ähnliche Themen

  1. Wo liegt der Fehler in meiner style.css?
    Von Unregistriert im Forum HTML & CSS Forum
    Antworten: 14
    Letzter Beitrag: 19.08.2008, 11:30
  2. Wo liegt der Fehler in der IE darstellung?
    Von Ericfischer im Forum HTML & CSS Forum
    Antworten: 8
    Letzter Beitrag: 14.06.2008, 12:42
  3. Wo liegt der Fehler?
    Von Christian im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 29.06.2007, 17:32
  4. Page reloadet jede sec wo liegt der fehler
    Von Aybee im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 08.03.2007, 22:15
  5. Kontaktformular. Wo liegt der Fehler?
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 8
    Letzter Beitrag: 29.01.2007, 23:04

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •