Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17
  1. #1
    Michelangelo Virus
    Registriert seit
    09.07.2008
    Beiträge
    299

    Standard Programm schließt sich seltsam

    Hiho,

    ich versuche (inspiriert von den ganzen toolz die hier selbstgecodet werden) seit letzter Woche C++ zu lernen. Jetzt war ich bei dem Kapitel eingaben angekommen. Und habe mal versucht so ein kleines Fahrenheit -> Celcius Programm zu schreiben. Doch seltsamerweise schließt sich das sofort nach der Eingabe. Damit ihr mir vielleicht Helfen könnt, hab ich hier den Code:

    Code:
    //erstes Programm mit eingabe :)
    
    #include <iostream>
    using namespace std;
    
    int main()
    {
      double fahrenheit; 
      double celsius;
    
      cout << "Geben sie die Temperatur in Fahrenheit ein: ";
      cin >> fahrenheit;
    
      fahrenheit = 20; // Mit oder ohne variable gleiches Problem
      celsius      = (fahrenheit - 32) + 5.0 / 9.0;
    
      cout << fahrenheit
             << "Grad Fahrenheit entsprechen " << celsius
             << " Grad Celsius" << endl;
    
             cin.get();
             return 0;
    }
    Im Compiler wird das Programm übrigens so wie es sollte ausgeführt.
    Hoffen auf leichte Fehlerlösung.

    mfg
    Hi

  2. #2
    Stanley Jobson Avatar von Whit3z
    Registriert seit
    08.12.2006
    Beiträge
    749

    Standard

    nimm doch einfach vor return

    Code:
    system("PAUSE");

  3. #3
    Michelangelo Virus
    Registriert seit
    09.07.2008
    Beiträge
    299

    Standard

    Danke, hat funktioniert, ich kannte den Befehl noch nicht

    Wunderbar, jetzt kann ich weiterarbeiten, danke nochmal

    mfg
    Hi

  4. #4
    Stanley Jobson Avatar von Whit3z
    Registriert seit
    08.12.2006
    Beiträge
    749

    Standard

    np :wink:

    dann kannste übrigens das

    Code:
    cin.get();
    weglassen

  5. #5
    Michelangelo Virus
    Registriert seit
    09.07.2008
    Beiträge
    299

    Standard

    Mhm, jetzt habe ich in meiner Euphorie ganz vergessen zu fragen wieso "cin.get()" nicht funktioniert. Und vorallem, wann "cin.get" und wann "system("PAUSE")" besser ist.

    mfg
    Hi

  6. #6
    Anfänger
    Registriert seit
    29.10.2007
    Beiträge
    13

    Standard

    Da die Eingabe gepuffert ist werden, meistens, die Daten aus dem Puffer als Eingabe gewertet => deswegen funktioniert "cin.get()" alleine nicht.

    Damit es aber funktioniert kannst du vorher alle Fehlbits löschen die die Eingabe verhindern könnten und anschließend so viele Zeichen wie im Puffer sind ignorieren(am besten machst du daraus gleich eine eigene Funktion):

    Code:
    cin.clear(); // Löschen
    cin.ignore(std::cin.rdbuf()->in_avail()); // Ignorieren
    cin.get(); // Eingabe abwarten
    System("PAUSE") verbraucht u.U. viel Systemleistung, und hat auch noch andere Nachteile => bleib bei der Funktion.

  7. #7
    Anfänger
    Registriert seit
    11.07.2008
    Beiträge
    13

    Standard

    starte das programm einfach im cmd um die lösung zu sehen bevor sich das programm wieder schließt

  8. #8
    Michelangelo Virus
    Registriert seit
    09.07.2008
    Beiträge
    299

    Standard

    @ Raxtor

    alles klar, dann werde ich mir die Befehle mal aufschreiben und angewöhnen. Danke nochmal

    roqx...
    also... im Grunde wurde die Frage schon beim 2. Post beantwortet und ähm... ich hatte schon wieder ne andere Frage... aber trotzdem... danke (>.<)

    mfg
    Hi

  9. #9
    Anfänger
    Registriert seit
    29.10.2007
    Beiträge
    13

    Standard

    @roqx2: Ich glaube das wär(jetzt mal rein theoretisch er würde es verkaufen) etwas zu kompliziert für den Benutzer. Bzw wär es generell einfach zu umständlich man könnte doch gleich auf die .exe klicken

    @Brotmesser: np
    Gruß Raxtor

    VIVA LOS TIOZ!

  10. #10
    Anfänger
    Registriert seit
    11.07.2008
    Beiträge
    13

    Standard

    Zitat Zitat von Raxtor
    @roqx2: Ich glaube das wär(jetzt mal rein theoretisch er würde es verkaufen) etwas zu kompliziert für den Benutzer. Bzw wär es generell einfach zu umständlich man könnte doch gleich auf die .exe klicken

    @Brotmesser: np
    solch ein programm it statischen values verkauft man doch nicht :roll:

    wieso wäre es umständlich... es ist eine konsolenanwendung.. die wird nunmal im cmd benutzt x)

Seite 1 von 2 12 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •