C++/if

Dieses Thema im Forum "Programmieren" wurde erstellt von crazyivan21, 18. Oktober 2002.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. crazyivan21

    crazyivan21 Byte

    Registriert seit:
    18. September 2002
    Beiträge:
    102
    Hi,
    ich möchte ein kleines Quiz programmieren doch irgendwas funzt net, und zwar die if-Anweisung, ich möchte das wenn die Antwort falsch ist das er mir sagt "Falsch" doch er zeigt mir bei der richtigen und falschen atnwort "Falsch".Hier ist der Programmcode:
    #include <iostream.h>;
    #include <conio.h>;

    void main()
    {double a,b,c,d;
    cout <<"Frage xy?"<<endl;
    cout<<"a:z"<<endl;
    cout<<"b:y"<<endl;
    cin>>z;
    cin>>y;
    if (cin>>z)
    cout<<"Richtig");
    else
    cout<<"Falsch";
    getch();
    }
    Danke!
     
  2. gert12349

    gert12349 Halbes Megabyte

    Registriert seit:
    21. Oktober 2001
    Beiträge:
    651
    Wie wärs damit:

    void main()
    {int a;
    for ( ; ; ) {
    cout <<"Wieviel Ecken hat ein Quadrat?"<<endl;
    cin>>a;
    if (a == 4) {
    cout<<"Richtig";
    break;
    } // if
    else
    cout<<"Falsch";
    } // for
    getch();
    } // main

    P.S. Hat mir doch glatt so\'n blödes Smilie dazwischengefunkt :-)
    [Diese Nachricht wurde von gert12349 am 18.10.2002 | 17:42 geändert.]
     
  3. Zirkon

    Zirkon Megabyte

    Registriert seit:
    28. November 2001
    Beiträge:
    1.210
    Willst Du eigentlich auch noch was dabei lernen oder nur vorgekaut kriegen?
    Meine Güte, besorg Dir halt ein gutes Buch und arbeite Dich richtig ein. Das will und kann Dir niemand abnehmen!
     
  4. crazyivan21

    crazyivan21 Byte

    Registriert seit:
    18. September 2002
    Beiträge:
    102
    schreib mir hald den code für so eine switch-anweisung!
     
  5. it-praktikant

    it-praktikant Megabyte

    Registriert seit:
    5. August 2002
    Beiträge:
    1.176
    Falsch\'; ein.
    <TT>
    [Diese Nachricht wurde von it-praktikant am 18.10.2002 | 17:22 geändert.]
     
  6. it-praktikant

    it-praktikant Megabyte

    Registriert seit:
    5. August 2002
    Beiträge:
    1.176
    switch würde ich aber dort bei anderen Bedingungen nehmen.

    Tipp: APIs lesen oder/und C++-Buch holen. Von Data Becker ist sehr gut, aber eine ältere Auflage.
     
  7. crazyivan21

    crazyivan21 Byte

    Registriert seit:
    18. September 2002
    Beiträge:
    102
    ok, so wie es gert12349 gemacht hat so wollte ich es haben, nur ich möchte das wenn man eine Falsche antwort gibt das dan das spiel wiedee von vorne beginnt!
     
  8. gert12349

    gert12349 Halbes Megabyte

    Registriert seit:
    21. Oktober 2001
    Beiträge:
    651
    Dafür gibts auch die switch-Anweisung. Aber da soll sich crazyivan21 erst mal äußern, was er denn nun überhaupt will.
     
  9. it-praktikant

    it-praktikant Megabyte

    Registriert seit:
    5. August 2002
    Beiträge:
    1.176
    vielleicht will er aber in deiner 5ten Zeile aber mehrere Antwortmöglichkeiten haben, aber vom Prinzip, ja so seh ich das auch, dann könnte er mehrere IFs nehmen.
    <TT>
    if (1) { }
    if (2) { }
    ...
    else { }
     
  10. gert12349

    gert12349 Halbes Megabyte

    Registriert seit:
    21. Oktober 2001
    Beiträge:
    651
    Im Prinzip müsste es etwa so aussehen:

    void main()
    {int a;
    cout &lt;&lt;"Wieviel Ecken hat ein Quadrat?"&lt;&lt;endl;
    cin&gt;&gt;a;
    if (a == 4)
    cout&lt;&lt;"Richtig";
    else
    cout&lt;&lt;"Falsch";
    getch();
    }

    [Diese Nachricht wurde von gert12349 am 18.10.2002 | 16:44 geändert.]
     
  11. Zirkon

    Zirkon Megabyte

    Registriert seit:
    28. November 2001
    Beiträge:
    1.210
    Probieren wirs mal andersrum... was genau soll auf dem Bildschirm erscheinen? Was gibt der Benutzer dann ein? Eine Zahl? Einen Buchstaben? Einen Satz? Womit wird die Antwort verglichen? Wozu brauchst Du "double a, b, c, d"?
     
  12. it-praktikant

    it-praktikant Megabyte

    Registriert seit:
    5. August 2002
    Beiträge:
    1.176
    <TT>
    void main()
    __{
    ___double a,b,c,d;
    ___cout &lt;&lt;"Frage xy?"&lt;&lt;endl;
    ___cout&lt;&lt;"a:z"&lt;&lt;endl;
    ___cout&lt;&lt;"b:y"&lt;&lt;endl;
    ___cin&gt;&gt;z;
    ___cin&gt;&gt;y;
    ___if (cin&gt;&gt;z) <B>{</B> /** was soll hier größer sein? Ist doch ein Boolean oder? **/
    _____cout&lt;&lt;"Richtig";<B>}</B>
    ___else <B>{</B>
    _____cout&lt;&lt;"Falsch";<B>}</B>
    ___getch();
    __}</TT>

    Nur ein Vorschlag und nur zur Sicherheit, damit ich bzw. der PC weiß, was wo noch dazu gehört.
    Was sind und wo werden <TT>a, b, c, d</TT> benutzt? Sind es Arrays oder ein Feld davon oder ...??? Wäre es nicht besser sie vorher mit null zu initialisieren?

    Ciao it.
    <TT>
    [Diese Nachricht wurde von it-praktikant am 18.10.2002 | 16:47 geändert.]
     
  13. gert12349

    gert12349 Halbes Megabyte

    Registriert seit:
    21. Oktober 2001
    Beiträge:
    651
    Hallo,

    dein Programm erwartet aber drei Eingaben und nicht nur eine. Wo ist denn die richtige Lösung zum Vergleichen gespeichert?

    Gruß Gert
     
  14. crazyivan21

    crazyivan21 Byte

    Registriert seit:
    18. September 2002
    Beiträge:
    102
    die antwort x ist richtig, wenn man x eingibt soll er richtig hinschreiben!
     
  15. Zirkon

    Zirkon Megabyte

    Registriert seit:
    28. November 2001
    Beiträge:
    1.210
    Was genau soll das Programm denn abfragen und vergleichen?
    Falls x gleich y sein soll müßte es heißen if (x==y)
     
  16. crazyivan21

    crazyivan21 Byte

    Registriert seit:
    18. September 2002
    Beiträge:
    102
    und wie funzt es richtig??
     
  17. Zirkon

    Zirkon Megabyte

    Registriert seit:
    28. November 2001
    Beiträge:
    1.210
    Wenn ich das richtig sehe, steht doch in der IF-Klausel eine Eingabe und kein Vergleich, und die wird logisch ausgewertet eben immer false zurückliefern.
     
  18. crazyivan21

    crazyivan21 Byte

    Registriert seit:
    18. September 2002
    Beiträge:
    102
    ne funzt net!
     
  19. Zirkon

    Zirkon Megabyte

    Registriert seit:
    28. November 2001
    Beiträge:
    1.210
    Sollte da nicht irgendwo ein Vergleich mit "==" stehen?
    C++ ist aber nicht mein Ding :-)
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen