PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C++] Konsolenfenster bleibt nicht offen


pippo
2004-11-08, 11:24:17
Habe folgendes Programm bisher geschrieben:

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
char Aufgabe = 'a', Auswahl = 'b';
short int Zahl;
int Bits[8];

cout << "Informatik I - Uebungsblatt 5" << "\n1) Umrechnung einer Zahl in die Binaerdarstellung" << "\n2) Berechnung eines Loesungsvektors" << endl;
cout << "\nBitte waehlen sie die Aufgabe: ";
cin >> Aufgabe;
fflush(stdin);
while ((Aufgabe != '1') && (Aufgabe != '2'))
{
cout << "Falsche Eingabe, bitte wiederholen sie:";
cin >> Aufgabe;
fflush(stdin);
}
switch (Aufgabe)
{
case '1': //Beginn Aufgabe 1
{
cout << "Geben sie die gewuenschte Zahl ein: ";
cin >> Zahl;
while ((Zahl <= (-127)) || (Zahl >= 127))
{
cout << "Falsche Eingabe, bitte wiederholen sie: ";
cin >> Zahl;
fflush(stdin);
}
cout << "\na) ueber das \"most significant bit\"\nb) ueber die Einerkomplementdarstellung\nc) ueber die Zweierkomplementdarstellung" << endl;
cout << "\nWaehlen sie bitte die Vorgehensweise: ";
cin >> Auswahl;
while ((Auswahl != 'a') && (Auswahl != 'b') && (Auswahl != 'c'))
{
cout << "Falsche Eingabe, bitte wiederholen sie: ";
cin >> Auswahl;
fflush(stdin);
}
switch (Auswahl)
{
case'a':
{
if (Zahl>0)
Bits[7]=0;
else
{
Zahl=Zahl*(-1);
Bits[7]=1;
}
for(int i=6; i>=0; i--)
{
if(Zahl>=pow(2,i))
{
Bits[i]=1;
Zahl=Zahl-pow(2,i);
}
else
Bits[i]=0;
}
cout << Bits[7] << Bits[6] << Bits[5] << Bits[4] << Bits[3] << Bits[2] << Bits[1] << Bits[0] << endl;
}break;
case 'b':
{

}break;
case 'c':
{

}
}
}break;

case '2': //Beginn Aufgabe 2
{

}
}
return 0;
}

Das Programm beendet sich jedesmal korrekt mit Code 0. Das Dumme ist nur, dass das Konsolenfenster nicht offen bleibt. Denke das ist nur eine Einstellungssache, oder? In Visual Studio 6 gings, aber in .net läuft irgendwas schief. Konnte aber unter Einstellungen nichts passendes finden.

Gnafoo
2004-11-08, 17:09:01
Im Notfall kannst du zumindest beim testen am Ende noch ein
system("pause"); dranhängen. Dann sollte er noch auf eine
Tastatureingabe warten.
Allerdings ist das natürlich auch nicht das Gelbe vom Ei.

cu DerTod

ScottManDeath
2004-11-08, 17:34:22
oder ein


int i;
cin << i << endl;
return 0;

san
2004-11-08, 19:48:09
oder mit "Start without Debugging" resp. CTRL+F5 das Programm starten

pippo
2004-11-08, 22:03:39
san, du bist a Hund. Glaub des lag tatsächlich nur an dem :)

Vedek Bareil
2004-11-09, 00:22:07
also system("Pause") haut bei mir immer 100% Prozessorauslastung rein. Nimm lieber getchar(), ist zwar eher C als C++ und verlangt die stdio.h zu includen, aber macht keine Prozessorauslastung :)

Was man natürlich sonst noch machen könnte, wäre, das Prog direkt von der Konsole aus zu starten, dann die bleibt die auch bei Programmende offen ;)

noid
2004-11-09, 12:50:53
san, du bist a Hund. Glaub des lag tatsächlich nur an dem :)

man könnte auch nen breakpoitn setzen.