1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

C++/if

Discussion in 'Programmieren' started by crazyivan21, Oct 18, 2002.

Thread Status:
Not open for further replies.
  1. 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

    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

    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. schreib mir hald den code für so eine switch-anweisung!
     
  5. it-praktikant

    it-praktikant Megabyte

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

    it-praktikant Megabyte

    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. 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

    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

    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

    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

    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

    <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

    Hallo,

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

    Gruß Gert
     
  14. die antwort x ist richtig, wenn man x eingibt soll er richtig hinschreiben!
     
  15. Zirkon

    Zirkon Megabyte

    Was genau soll das Programm denn abfragen und vergleichen?
    Falls x gleich y sein soll müßte es heißen if (x==y)
     
  16. und wie funzt es richtig??
     
  17. Zirkon

    Zirkon Megabyte

    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. ne funzt net!
     
  19. Zirkon

    Zirkon Megabyte

    Sollte da nicht irgendwo ein Vergleich mit "==" stehen?
    C++ ist aber nicht mein Ding :-)
     
Thread Status:
Not open for further replies.

Share This Page