[C++] Fenster schliesst sich autom.

Moin,
ich bin neu hier und wollte eigentlich "Hacken" lernen, hab mich aber dann umentschieden und angefangen eine Programmiersprache zu lernen. Hab mich dann auch für C++ entschieden.

Auf jedenfall mache ich grad das Einsteigertutorial von Schornboeck (nebenbei auch andere Einsteiger Tuts, zum Vergleich und 'perfektionieren').

Nunja, bis jetzt hat auch alle geklappt, bis zu dem Teil, wo es mit if/else losgeht. An sich ganz einfach, gibt nur ein kleine "Anfänger-Problemchen". Wie auch immer.

Code:
    #include <iostream>
    using namespace std;

    int main()
    {
        cout<<"Bitte geben Sie eine Zahl ein\n";
        int a;
        cin>>a;
        cout<<"Bitte geben Sie noch eine Zahl ein\n";
        int b;
        cin>>b;
        cout<<"Bitte geben Sie die letzte Zahl ein\n";
        int c;
        cin>>c;

        int max=a;

        if(b>max)
        {
            max=b;
        }
        if(c>max)
        {
            max=c;
        }


        int min=a;

        if(b<min)
        {
            min=b;
        }
        if(c<min)
        {
            min=c;
        }

        cout<<"Die größte Zahl ist "<<max<<" und die kleinste ist "<<min<<"\n";

    }

Ich hab diesen Code, aber das Fenster schliesst sich immer automatisch. Ich hab auch schon versucht an mehreren Stellen ein cin.get(); zu setzen, bringt aber nix. Wenn ich erst ein DOS-Fenster öffne und dann das starte, dann funktioniert es einwandfrei, das ist aber ja nicht Sinn der Sache.

Langer Text, kurzer Sinn. Wie bleibt das Fenster bei diesem Code offen?

PS: Hab mir mal erlaubt den Code direkt von der Page zu 'übernehmen'.
Klicki


PSS: Ich benutze Bloodshed Dev-C++ oder wie das heißt ^^.
 
Schau dich mal bitte in der Boardsuche um. Dieses Problem gab es hier schon des öfteren. Das Problem bei Konsolen-Programmen ist, wenn du sie aus der IDE startest, dass 'cmd programname.exe' von Windows aufgerufen wird. Wird das Programm beendet, wird natürlich auch das cmd-Fenster geschlossen. Lösungen dafür finden sich definitiv hier im Board (wie z.B. ein sleep() an's Ende setzen, einen bestimmten Tastendruck am Ende abfragen u.ä.).
 
Original von AlterHacker
system("PAUSE"); hinzufügen
Ah, thx. Das ist noch besser, da muss ich nicht extra eine andere Bibliothek laden, wie zB. bei getch.

Ich hab nochmal eine Frage. Wenn ich jetzt einfach die .exe doppelklicke starte ich es ja nicht aus dem IDE, aber das Fenster schließt sich trotzdem. Muss das so? :[
 
Ah, thx. Das ist noch besser, da muss ich nicht extra eine andere Bibliothek laden, wie zB. bei getch.
Echt nicht? Normalerweise braucht man <windows.h> dafür. Aber die braucht man eh öfters ^^
Und "grottenschlechter Programmierstil": Jedem das Seine. Ich benutz das auch und es hat immer einwandfrei funktioniert, in allen Compilern. Andere Varianten haben zumindest bei 1 von 3 Compilern Fehler verursacht. Dafür sind andere Portabel, aber das will ich ja auch nicht.
-> Darüber lass uns besser nicht diskutieren, sonst wird hier alles vollgespammt... ;)
jedem das Seine.

Zum IDE starten:
Bitmuncher sagte, dass, wenn du es aus der IDE deiner C++-Programmierumgebung startest, wieder schließt. Bei Borland und Bloodshed trifft das zu, nicht aber bei MSVC++. Dort bleibt die Konsole offen, weil standartmäßig ein "PAUSE" angehängt wird. MS halt...

Wenn du die *.exe doppelklickst, dann schließt die Konsole immer hinterher! Du kannst das aber auch z.B. über die DOS-Konsole machen, oder ,wie angesprochen, programmintern.
 
auch glaub bei bloodshed's editor gibts auch ne funktion getche();
das bedeutet soviel wie get checked, also man muss ne taste drücken damits weiter geht oda so. ein kumpel programmiert auch in DevC++, aber ich habs noch nicht gebraucht bist jetzt.

ich bin neu hier und wollte eigentlich "Hacken" lernen, hab mich aber dann umentschieden und angefangen eine Programmiersprache zu lernen. Hab mich dann auch für C++ entschieden.

naja, du weißt schon, das du mit C++ auch "hacken" kannst wenn du gut genug bist. bzw. hacken läuft sowieso mit ner programmiersprache. programmieren musst du also können und das am besten im schlaf. der kern des hackens..... ach egal, was ich sagen wollte ist, dass das programmieren "nur" handwerkszeug ist für einen "hacker". ;)

oder wolltest du holz hacken und dachtest dir programmieren ist zukunftsweisender hehe?
 
Original von xilehack
auch glaub bei bloodshed's editor gibts auch ne funktion getche();
das bedeutet soviel wie get checked, also man muss ne taste drücken damits weiter geht oda so. ein kumpel programmiert auch in DevC++, aber ich habs noch nicht gebraucht bist jetzt.

ich bin neu hier und wollte eigentlich "Hacken" lernen, hab mich aber dann umentschieden und angefangen eine Programmiersprache zu lernen. Hab mich dann auch für C++ entschieden.

naja, du weißt schon, das du mit C++ auch "hacken" kannst wenn du gut genug bist. bzw. hacken läuft sowieso mit ner programmiersprache. programmieren musst du also können und das am besten im schlaf. der kern des hackens..... ach egal, was ich sagen wollte ist, dass das programmieren "nur" handwerkszeug ist für einen "hacker". ;)

oder wolltest du holz hacken und dachtest dir programmieren ist zukunftsweisender hehe?

Letzteres; dachte mir, beim Holzhacken hacken zu können, wär doch mal geil, oder?
Ne, mal im Ernst, hab auch bemerkt das programmieren zu können eine Grundvorraussetzung ist, aber abgesehen davon, macht das Programmieren an sich auch schon Spaß, hab das 'Hacken' erstmal in weiten Hintergrund gestellt ;).
 
Zurück
Oben