kostenloser Webspace werbefrei: lima-city


C++ / Exe-Datei schließt sich bei Ausführung

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    pixel-tausch

    pixel-tausch hat kostenlosen Webspace.

    edit: GELÖST!

    Huhu liebe Lima-city Community,
    Ich bin ein Anfänger im Programmieren, aber ich denke, dass ich ein gewisses Grundwissen schon erreicht habe.
    Gerade lerne ich C++ auf http://de.wikibooks.org und habe mir bereits 15 Themen angeschaut.

    Nun zu meinem Problem: Ich benutze den dev-c++ 4.9.9.2-Kompiler und hab vorhin meine erste .exe-Dateianwendung programmiert (naja, an sich nur das Beispiel von http://de.wikibooks.org kompiliert)
    Der Quellcode ist:

    #include <iostream>
    
    using namespace std;
    
    int main(){
        double zahl1, zahl2, ergebnis;                // Variablen für Zahlen
        char rechenzeichen;                           // Variable fürs Rechenzeichen
    
        cout << "Geben Sie eine Rechenaufgabe ein: "; // Eingabeaufforderung ausgeben
        cin >> zahl1 >> rechenzeichen >> zahl2;       // Aufgabe einlesen
    
        switch(rechenzeichen){                        // Wert von rechenzeichen ermitteln
            case '+': ergebnis = zahl1+zahl2; break;  // entsprechend dem
            case '-': ergebnis = zahl1-zahl2; break;  // Rechenzeichen
            case '*': ergebnis = zahl1*zahl2; break;  // das Ergebnis
            case '/': ergebnis = zahl1/zahl2; break;  // berechnen
            // Fehlerausgabe und Programm beenden, falls falsches Rechenzeichen eingegeben wurde
            default: cout << "unbekanntes Rechenzeichen...\n"; return 1;
        }
    
        // Aufgabe noch mal komplett ausgeben
        cout << zahl1 << ' ' << rechenzeichen << ' ' << zahl2 << " = " << ergebnis << '\n';
    }


    Wenn ich nun die .exe-Datei öffne und 5 +5 eingebe und Enter drücke, erscheint das Ergebniss für eine halbe Sekunde und das Programm schließt sich sofort.
    Wie schaffe ich es, dass das Programm offen bleibt?

    Schon mal vielen Dank fürs Durchlesen :)
    Liebe Grüße,
    Finn



    Beitrag zuletzt geändert: 12.5.2012 0:58:14 von pixel-tausch
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo pixel-tausch,

    um das Terminal-Fenster offen zu halten kannst Du am Ende von main() z.B. noch ein 'cin.get()' einfügen. Dann wird gewartet bis Du eine Taste drückst.
  4. Das sieht mir stark nach einer Konsolenanwendung aus...
    Falls dies der Fall sein sollte (ich habe keine Ahnung von C++), musst Du wahrscheinlich wie bei jedem Programm mit .NET-Hintergrund
    als letzte Anweisung den Befehl zum Warten auf Eingaben setzen.

    Alternativ kannst Du Dein Programm aber auch mit Strg+F5 ausführen, dann wird dieses Warten automatisch durchgeführt, weil es nicht im Debugger startet!
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    pixel-tausch schrieb:
    Wie schaffe ich es, dass das Programm offen bleibt?
    Wenn du von einem cmd-Fenster aus das Programm startest siehst du die Ausgabe...
  6. Autor dieses Themas

    pixel-tausch

    pixel-tausch hat kostenlosen Webspace.

    Edit: Gelöst.
    Danke für die Antworten.

    Lösung: Hab 2x
    getchar();
    rangesetzt und jetzt klappts.

    Beitrag zuletzt geändert: 11.5.2012 23:34:19 von pixel-tausch
  7. Du könntest am Ende auch einfach ein

    System("Pause");

    einfügen.
  8. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    volleys schrieb:
    System("Pause");
    Der Nachteil daran ist aber, dass das dann nur noch auf Windows funktioniert...

    Abgesehen davon musst du das klein schreiben:
    system("pause");
    ("system" muss klein geschrieben werden)
  9. wenn du die conio.h einbindest, kannst du auch nur getch() verwenden, nur achtung; getch arbeitet im ASCII-Code
  10. hackyourlife schrieb:
    volleys schrieb:
    System("Pause");
    Der Nachteil daran ist aber, dass das dann nur noch auf Windows funktioniert...


    naja man müsste den code dann halt für verschiedene OS compilen, aber im endeffekt trifft system("pause") genau auf das problem zu


  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!