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


von anfänger (Gast)


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!
1
 
2
#include "stdafx.h"
3
#include <iostream>
4
using namespace std;
5
6
int main()
7
{
8
  float x = 0, y = 0, s = 0;
9
10
  // Eingabeaufforderung
11
  cout << "Bitte geben Sie 2 beliebige Zahlen ein: " << endl;
12
  cout << "Zahl 1:\t";
13
  cin >> x;
14
  cout << "Zahl 2:\t";
15
  cin >> y;
16
17
  // Summenberechnung
18
  s = x + y;
19
20
  // Ergebnisausgabe
21
  cout << "Die Summe von " << x << " und " << y << " betraegt: " << s << endl;
22
23
  return 0;
24
}

von Reisender (Gast)


Lesenswert?

Meine Glaskugel sagt:

Start -> Zubehör -> Eingabeaufforderung

von anfänger (Gast)


Lesenswert?

einfach Variable z.B a anlegen? und dann
1
 
2
cout<< "zum beenden Buchstabe und Return drücken!"
3
cin>>a

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

von daniel (Gast)


Lesenswert?

den besagten dummy code ganz am schluss in main vor return einfügen

von brizz (Gast)


Lesenswert?

Da du kein Betriebssystem nennst, folgendes vor das return 0 setzen:
1
  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>.

von anfänger (Gast)


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();


1
#include "stdafx.h"
2
3
4
#include "stdafx.h"
5
#include <iostream>
6
using namespace std;
7
8
int main()
9
{
10
  float x = 0, y = 0, s = 0;
11
12
  // Eingabeaufforderung
13
  cout << "Bitte geben Sie 2 beliebige Zahlen ein: " << endl;
14
  cout << "Zahl 1:\t";
15
  cin >> x;
16
  cout << "Zahl 2:\t";
17
  cin >> y;
18
19
  // Summenberechnung
20
  s = x + y;
21
22
  // Ergebnisausgabe
23
  cout << "Die Summe von " << x << " und " << y << " betraegt: " << s << endl;
24
25
std::cin.get();
26
27
28
  return 0;
29
30
31
}
wo liegt mein Fehler?
Wenn ich das std:: weglasse funktioniert es auch nicht!

von Mark .. (mork)


Lesenswert?

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

MfG Mark

von ich (Gast)


Lesenswert?

Ich benutz immer:
1
 system("PAUSE");

von Sven P. (Gast)


Lesenswert?

Und PAUSE unter FreeDOS benutzt getch()... aber C++ ist ja einfach.

von brizz (Gast)


Lesenswert?

Vielleicht so?
1
  cin.clear();
2
  cin.ignore(256, '\n'); 
3
  cout << "Weiter mit Return..." << endl; 
4
  cin.get();

von Sven P. (Gast)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.