Programm lässt sich nicht starten....

indem du es ungefähr so machst:: aber vorsicht das ist C Programmiersprache müsste aber eigendlich gleich sein::

Code:
for(i=1;i<=anz;i++)
anz= wie oft es sich wiederholen soll

hoffe ich konnte die weiterhelfen!!

mfg
 
Hi.

@konfus123: Du machst deinem Namen alle Ehre. Evlt. solltest du mal deine Gedanken ordnen und etwas auf die Frage achten bevor du etwas schreibst.

Erstmal zu dem "return 0;". Wenn das Programm nicht gestartet werden kann, kann es nichts damit zu tun haben ob man nun "return 0;" im Quelltext zu stehen hat oder nicht.

Vielmehr ist es in C++ so, dass implizit 0 zurückgegeben wird - man darf diese Anweisung also weglassen. Außerdem darf auch in C laut C Standard von 1999 in der main Funktion die return Anweisung fehlen.

Das Problem mit dem Buchstaben hängt nun wieder damit zusammen, das ein Buchstabe keine korrekte Eingabe bei einem int ist. (außer bei hexadezimal). Wenn du einen Buchstaben eingibst, wird ein Fehler ausgelöst und der Eingabestream cin befindet sich im "fail" Zustand. Von diesem Stream kann jetzt nichts mehr eingelesen werden - sprich: jede Einleseoperation schlägt fehl.

Da du allerdings nicht prüfst ob die Aktion erfolgreich war oder nicht, entsteht die Endlosschleife.

C++:
do {
  if (! cin >> befehl) {
    if (cin.bad() || cin.eof()) { // von Eingabe kann nichts mehr gelesen werden
      break; // Schleife verlassen
    } else {
      // fehlerhafte Eingabe
      string tmp;
      cin.clear(); // Streamzustand zurücksetzen.
      getline(cin, tmp);  // restliche Zeile auslesen

      cout << "Ungültige Eingabe" << endl;
      continue;
    }
  }
  
  switch(eingabe) {
    ...
  }
} while (eingabe != 0);
Gruß

\edit: Zum eigentlichen Problem: Wenn man ein Programm auf einem anderen Rechner ausliefern will, sollte man 1. im Release Modus kompiliern und 2. sicherstellen das entweder der andere Rechner auch die entsprechenden Runtime Bibliotheken (DLLs) besitzt oder man kompiliert die Bibliotheken statisch mit in das Programm hinein. Das kann man alles in den Projekteinstellungen festlegen.
 
Zuletzt bearbeitet:
Zurück