Ich versuche, das Programm so zu programmieren, dass es beendet wird, wenn eine Zahl eingegeben wird, ANDERE als 1 oder 2. Ich kann es erhalten, um eine "Ausgangsmeldung" anzuzeigen, aber das Programm startet neu, anstatt zu beenden. Ich glaube, es kann sein, weil es keine "Rückgabe 0" in der Switch-Standard gibt, aber ich erhielt immer einen Rückgabefehler für void calcit, als ich es einfügte. Ich habe das Gefühl, dass es etwas Einfaches ist, das ich vermisse.Programm mit Standardschalter verlassen?
Antwort
Das Problem mit dem Programm nie endend ist, weil Sie die Schleife do {blah blah....} while (true)
haben, die nie endet. Um das zu erreichen, was Sie wollen Sie brauchen eine andere Bedingung:
do { blah blah blah ...} while (resp == '1' || resp == '2');
zu beenden Um Ihr Programm bilden sollten Sie Exit-Funktionen anstelle von return 0 verwenden, die Ihre Schleife beenden wird auch brechen würde dir nicht helfen, weil Sie sind im Schalterblock sowie die Do While-Schleife Also, versuchen Sie Ausgang (0); zu beenden, müssen Sie auch die Header-Datei enthalten, dass
#include<cstdlib. h>
'std :: exit' ist in'
Danke, dass du mich korrigiert hast, aber ich habe nicht alle Ressourcen geleert, die du gesagt hast –
C++ benutzt RAII, um Ressourcen zu verwalten, und es ist die Rolle von Destruktoren, diese Ressourcen zu befreien. Da 'std :: exit' die Destruktoren von automatischen Variablen nicht aufruft, werden die Ressourcen niemals freigegeben. – Quentin
- 1. Programm verlassen ohne Ausnahmebehandlung auszulösen
- 2. Programm nicht verlassen, während Schleife
- 3. Während des Startens Programm verlassen mit Code 0xc0000139
- 4. cx_freeze Build erlaubt es nicht, Programm zu verlassen
- 5. Wie mache ich mein Programm nach dem Betreten verlassen beenden?
- 6. supervisord mit Verlassen ENOEXEC
- 7. "aapt.exe" verlassen mit Code 255
- 8. paket.bootstrapper.exe verlassen mit Code 3
- 9. „tsc.exe“ verlassen mit Code 255
- 10. „Csc.exe“ verlassen mit Code -1073741819
- 11. Verzeichnis verlassen?
- 12. C-Spiel mit ncurses - Schließen des Fensters, ohne das Programm zu verlassen
- 13. SubWCRev verlassen mit dem Code 9009
- 14. Perl Kommandozeileninterpreter Verlassen nicht
- 15. Verlassen mit Status ungleich Null (repl.it) C++?
- 16. Verlassen einer Schleife mit '0' eingegeben, Baugruppe
- 17. Verlassen des Dropdown-Menüs
- 18. Verlassen Sie kein Fenster minimieren?
- 19. Safari WebDriver setTimeout mit Winkelmesser verlassen
- 20. Gerinne Befehl [tail -F] verlassen mit 1
- 21. Fehler MSB6006: „cmd.exe“ verlassen mit Code 1
- 22. Verlassen Sie den Navigations-Controller mit Segue
- 23. Wie Rechteck nicht verlassen Leinwand mit Javascript
- 24. Wie while-Schleife mit neuem Wert verlassen?
- 25. "java.exe" verlassen mit Code 1 Xamarin C#
- 26. cmd.exe verlassen mit dem Code 9009
- 27. Stapel Build-Fehlermeldung: Verlassen mit ExitFailure 128
- 28. Umgang mit Rotationsänderungen und Benutzer verlassen Aktivität
- 29. Sqoop Hive verlassen mit Status 1
- 30. MSB6006: "cmd.exe" verlassen mit dem Code 9009
ist „aber das Programm startet“ Das ist nicht der Fall. Schau mal hier 'do {...} while (true);'. Sie kommen nie aus dieser Schleife heraus, was bedeutet, dass "if (resp! = '1' || resp! = '2')" unerreichbar ist. – DimChtz