Müne mehrmals ausführen

Der_Wanderer

Grünschnabel
Mein eigentliches Programm ist wesentlich umfangreicher, deshalb hier nur ein kleines Beispiel ums übersichtlich zu halten.
Code:
...
main()
{
  menu=0;
 
  cout << "Element anhaengen => 1\n"
		<< "Element entfernen => 2\n"
  cin  >> menu;
  cout << endl << endl;
  switch(menu)  {
  case 1:
  ...
  break;
  case 2:
  ...
  break;  };
 return 0;
}

Wenn ich das Programm ausführe wird logischer Weise das Menü einmal aufgerufen, dann springt er in die switch/case Anweisung und beendet das Programm. Wie kann ich es aber anstellen, daß er das Programm nicht beendet sondern das Menü erneut aufruft, damit ich ein weiteres Element anfügen kann.
 
Code:
main()
{
  menu=0;
 
  cout << "Element anhaengen => 1\n"
		<< "Element entfernen => 2\n"
  cin  >> menu;
  cout << endl << endl;
  switch(menu)  {
  case 1:
  ...
  break;
  case 2:
  ...
  break;  };
 return 0;
}

So:
Code:
main()
{
  menu=1;
 
 while(menu != 0){
  cout << "Element anhaengen => 1\n"
		<< "Element entfernen => 2\n"
                << "Programm beenden => 0\n"
  cin  >> menu;
  cout << endl << endl;
  switch(menu)  {
  case 1:
  ...
  break;
  case 2:
  ...
  break;  };
 }
 return 0;
}

Gruß

RedWing
 
Danke für deine schnelle Antwort.

Ich hab das grad mal getestet, aber das endet in einer Endlosschleife. Ich habs auch mal mit anderen Varianten versucht (mit if und goto), aber immer das gleiche => Endlosschleife. Was kann ich noch tun?
 
Dann versuch dein Variable Menu als char zu deklarieren.
So:

Code:
#include <iostream>

using namespace std;
main()
{
  char menu='1';    
 
 while(menu != '0'){
  cout << "Element anhaengen => 1\n"
                << "Element entfernen => 2\n"
                << "Programm beenden => 0\n";
  cin  >> menu;
  cout << endl << endl;
  switch(menu)  {
  case '1':
        cout << "Entfernen" << endl; 
  break;
  case '2':
        cout << "Hinzufuegen" << endl;
  break; 
  case '0': break;
  default: cout << "Falsche Eingabe" << endl; break;
  }
 }
 return 0;
}

Gruß

RedWing
 
Fast perfekt, das mit dem char funktioniert. Das hat nur einen Schönheitsfehler. Er gibt mir jetzt das Menü 3 oder 4 mal aus, bevor ich wieder wählen kann.
 
Mhm,
versuch vor deiner cin >> menu Anweisung den Tastaturpuffer mal zu löschen...

Etwa so:

Code:
cin.seekg(0,std::ios::end);
cin.clear();
cin >> menu;

Gruß

RedWing
 
Zurück