mikrocontroller.net

Forum: PC-Programmierung C++ Programm soll nicht automatisch gesclossen werden!


Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin totaler anfänger:
Würde gern wissen was ich am besten mache damit mein Programm nicht 
sofort geschlossen wird!Ich will ja mein Ergebniss lesen können!
 
#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
  float x = 0, y = 0, s = 0;

  // Eingabeaufforderung
  cout << "Bitte geben Sie 2 beliebige Zahlen ein: " << endl;
  cout << "Zahl 1:\t";
  cin >> x;
  cout << "Zahl 2:\t";
  cin >> y;

  // Summenberechnung
  s = x + y;

  // Ergebnisausgabe
  cout << "Die Summe von " << x << " und " << y << " betraegt: " << s << endl;

  return 0;
}

Autor: Reisender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Glaskugel sagt:

Start -> Zubehör -> Eingabeaufforderung

Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
einfach Variable z.B a anlegen? und dann
 
cout<< "zum beenden Buchstabe und Return drücken!"
cin>>a 

??
Wie mache ich dass mir dass Ergenis angezeigt wird und dann durch Return 
die Konsolenanwendung geschlossen wird!

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
den besagten dummy code ganz am schluss in main vor return einfügen

Autor: brizz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da du kein Betriebssystem nennst, folgendes vor das return 0 setzen:
  std::cin.get();
Alternativen für getch() sind mir nicht bekannt. getch() würde nur
'anykey' benötigen, dass da oben braucht leider immer <Return>.

Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

std::cin.get();
funktioniert nicht! Hatte ich schon versucht!

Ich brogrammiere mit Visual Studio 2008 eine win 32 Konsolenanwendung!

Hier der nicht funktionierende Quelltext mit std::cin.get();


#include "stdafx.h"


#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
  float x = 0, y = 0, s = 0;

  // Eingabeaufforderung
  cout << "Bitte geben Sie 2 beliebige Zahlen ein: " << endl;
  cout << "Zahl 1:\t";
  cin >> x;
  cout << "Zahl 2:\t";
  cin >> y;

  // Summenberechnung
  s = x + y;

  // Ergebnisausgabe
  cout << "Die Summe von " << x << " und " << y << " betraegt: " << s << endl;

std::cin.get();


  return 0;


}
wo liegt mein Fehler?
Wenn ich das std:: weglasse funktioniert es auch nicht!

Autor: Mark .. (mork)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Füg mal ein zweites cin.get(); hinzu. Dann sollte es funktionieren.

MfG Mark

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich benutz immer:
 system("PAUSE"); 

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und PAUSE unter FreeDOS benutzt getch()... aber C++ ist ja einfach.

Autor: brizz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht so?
  cin.clear();
  cin.ignore(256, '\n'); 
  cout << "Weiter mit Return..." << endl; 
  cin.get();

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Damits ohne Enter hinhaut, muss der Stream ungepuffert sein. Sonst 
kriegste immer nur komplette Zeilen, liegt so in der Natur von 
Terminals.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.