Problem



  • Moin

    ich hab heute mit C++ angefangen und hab direkt schon ein Problem:

    Hier ist der Quelltext:

    #include <iostream>
    using namespace std;
    
    int main()
    {
    cout<<"Geb hier eine erste Zahl ein!\n";
    int a;
    cin>>a;
    cout<<"Hier noch eine zweite Zahl\n";
    int b;
    cin>>b;
    
    if(a==b)
    {
    cout<<"Beide Zahlen sind gleich";
    }
    if(a<b)
    {
    cout<<a<<" ist kleiner als "<<b;
    }
    if(a>b)
    {
    cout<<a<<" ist größer als "<<b;
    }
    cout<<"\n";
    }
    

    Wenn ich das ganze jetzt kompiliere und das Programm starte,werde ich nur nach den ersten 2 Zahlen gefragt und dann geht das Programm einfach aus verwirrt

    Weiß jemand was ich falsch mache?

    Mir wurde gesagt dass ich ein getch() einfügen muss damit das klappt.Ich weiß aber nicht genau wo 😋

    Ich hoffe das ist das richtige Forum dafür.Wenn nicht,bitte ich einen Mod den Tread zu verschieben 😮

    Thx



  • Das getch() musst du ganz zum schluss einfügen. Dein Problem ist einfach nur das sich die DosBox nach dem Programm automatisch schließt.

    #include <iostream>
    using namespace std;
    
    int main()
    {
    cout<<"Geb hier eine erste Zahl ein!\n";
    int a;
    cin>>a;
    cout<<"Hier noch eine zweite Zahl\n";
    int b;
    cin>>b;
    
    if(a==b)
    {
    cout<<"Beide Zahlen sind gleich";
    }
    if(a<b)
    {
    cout<<a<<" ist kleiner als "<<b;
    }
    if(a>b)
    {
    cout<<a<<" ist größer als "<<b;
    }
    cout<<"\n";
    getch(); // <- Hier
    }
    


  • Ich hab das jetzt genauso gemacht aber da macht der Compiler Probleme:

    http://www.imageup.de/img04/screen5om.th.gif



  • Falscher Header - getch() ist in der <cstdio> definiert. (Alternativ solltest du besser cin.get() verwenden - oder in der Konsolen-FAQ nachlesen, was du da eigentlich machst ;))



  • CStoll (off) schrieb:

    Falscher Header - getch() ist in der <cstdio> definiert. (Alternativ solltest du besser cin.get() verwenden - oder in der Konsolen-FAQ nachlesen, was du da eigentlich machst ;))

    Kannst du das vileicht mal so schreiben dass ich das auch verstehe?
    Ich hab erst heute mit C++ angefangen :p



  • schnurres schrieb:

    CStoll (off) schrieb:

    Falscher Header - getch() ist in der <cstdio> definiert. (Alternativ solltest du besser cin.get() verwenden - oder in der Konsolen-FAQ nachlesen, was du da eigentlich machst ;))

    Kannst du das vileicht mal so schreiben dass ich das auch verstehe?
    Ich hab erst heute mit C++ angefangen :p

    Er meint damit das du die Headerdatei <cstdio> noch includen sollst.



  • Dieser Thread wurde von Moderator/in estartu aus dem Forum MFC (Visual C++) in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • guenni81 schrieb:

    schnurres schrieb:

    CStoll (off) schrieb:

    Falscher Header - getch() ist in der <cstdio> definiert. (Alternativ solltest du besser cin.get() verwenden - oder in der Konsolen-FAQ nachlesen, was du da eigentlich machst ;))

    Kannst du das vileicht mal so schreiben dass ich das auch verstehe?
    Ich hab erst heute mit C++ angefangen :p

    Er meint damit das du die Headerdatei <cstdio> noch includen sollst.

    soll ich dann einfach ganz oben noch hinschreiben: #include<cstdio> ?



  • ja... besser wäre es aber, du fügst statt dem getch(); wie bereits gesagt ein cin.get() an der stelle ein



  • ich hab ein cin.get(); da eingefügt,aber das Programm geht immernoch einfach zu.

    Edit: ich habs jetzt mit der Console ausgeführt und es klapp 1A.

    Nur wenn ich auf die .exe. klicke dann geht die konsole zu

    Es geht!

    ich hab einfach ein cin>>a eingefügt



  • schnurres schrieb:

    soll ich dann einfach ganz oben noch hinschreiben: #include <cstdio>?

    Jepp!



  • schnurres schrieb:

    Kannst du das vileicht mal so schreiben dass ich das auch verstehe?

    Nö, bin zu faul dazu 😉 - aber wie gesagt könntest du dich mal in der FAQ umsehen - gleich der erste Beitrag beschäftigt sich mit deinem Problem.



  • Hier nochmal die coole version...

    #include <iostream>
    #include <conio.h>  // NEU
    using namespace std;
    
    int main()
    {
    cout<<"Geb hier eine erste Zahl ein!\n";
    int a;
    cin>>a;
    cout<<"Hier noch eine zweite Zahl\n";
    int b;
    cin>>b;
    
    if(a==b)
    {
    cout<<"Beide Zahlen sind gleich";
    }
    if(a<b)
    {
    cout<<a<<" ist kleiner als "<<b;
    }
    if(a>b)
    {
    cout<<a<<" ist größer als "<<b;
    }
    cout<<"\n";
    }
    
    getch();  // HIER!!!!
    

    Getch() ist im Header conio.h

    P.S. Hallo alle bin new hier^^


Anmelden zum Antworten