Programm beendet sich zu früh



  • Hi,
    also ich habe jetzt erst angefangen mit c++ ich habe da auch gleich ein Problem das programm beendet sich gleich nach der eingabe und gibt das nicht aus!

    #include <iostream.h>
    void main() {
    	float radius;
    	cout << "Bitte geben sie den Radius ein: ";
    	cin >> radius;
    	cout << "Der Umfang betraegt: " <<2*3.14*radius <<endl;
    };
    

    Könnt ihr mir helfen??

    Danke



  • doch tut es, du kannst es nur nicht sehen, weil das zu schnell geschieht. Von der IDE raus kannst du machen "Programm starten ohen Debuggen" um es auch zu haben ohne IDE:

    #include <iostream>
    
    using namespace std;
    
    int main() { 
        float radius; 
        cout << "Bitte geben sie den Radius ein: "; 
        cin >> radius; 
        cout << "Der Umfang betraegt: " <<2*3.14*radius <<endl; 
        cin.sync();
        cin.clear();
        cin.get(); // Hier sollte er jetzt auf Enter warten
        return 0;
    };
    

    Code-Hacker



  • Mit dem Code den du mir geschrieben hast hat es nicht gefuntzt!
    Ich habe es über Programm ausführen gemacht und da hat es dann mit meinem Code den ich vorher hatte auch gefuntzt!



  • Trage nach "#include <iostream>" noch folgende Zeile ein:

    using namespace std;
    


  • Laut VC++ 7.0 Handbuch sollte aber auch

    std::cin.ignore()
    

    funktionieren.



  • Simi schrieb:

    Laut VC++ 7.0 Handbuch sollte aber auch

    std::cin.ignore()
    

    funktionieren.

    Braucht man nicht mehr, wenn

    using namespace std;
    

    vorhanden ist.

    Code-Hacker



  • @Humus: Was hat das denn miteinander zu tun? Ich meine, seit wann löst denn

    using namespace std;
    

    dieses Problem und wenn doch, warum?



  • Im letzten Beitrag meinte ich natürlich Code-Hacker.

    Die Methode mit sync(), clear() und get() funktioniert, aber was ich meinte war, ob das auch Standardkonform ist. Es gibt da auch eine andere Methode in den FAQ, die angeblich Standardkonform ist. Ist das hier auch so?



  • Ich war auf das std hinaus, das ist nämlich überflüssig wenn der namespace drin ist, aber ich habe nicht auf ignore geachtet, sorry!

    Also die o.g. Methode habe ich hier ausm Forum und die geht auch nur mit dem namspace std. Habe sie hier her:
    http://www.c-plusplus.net/forum/viewtopic.php?t=50422&highlight=cin+sync
    Hier hat volkard die Lösug mit ignore gepostet:
    http://www.c-plusplus.net/forum/viewtopic.php?t=35673&highlight=cin+clear
    und wenn du suchst findest du die lösug noch wesentlich öfter und ich habe nirgends gelesen das es nicht standardkonform ist.

    Aber das .ignore funktioniert habe ich eben auf der Suche nach den obigen Threads auch gelesen, wederum auch das manchmal das andere unumgänglich sei, warum habe ich nicht gelesen 🙄

    Code-Hacker


Anmelden zum Antworten