Matroids Matheplanet Forum Index
Moderiert von matph
Informatik » Programmieren » Programm mit Loops läuft nicht, wie es soll
Druckversion
Druckversion
Antworten
Antworten
Autor
Kein bestimmter Bereich Programm mit Loops läuft nicht, wie es soll
RatMac
Junior Letzter Besuch: im letzten Quartal
Dabei seit: 28.01.2020
Mitteilungen: 8
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2020-03-18


Hallo ihr!

Zur Vorbereitung meines Studiums habe ich ein Programm in C schreiben wollen, dass den Benutzer erst fragt, ob er fortfahren und möchte oder das Programm beenden und beim Fortfahren nach einer Zahl fragt, um zu ermitteln, ob diese gerade oder ungerade ist und soll dann eigentlich zur Ausgangsfrage zurückspringen.
Leider springt das Programm nach erfolgreicher Ausgabe des Ergebnisses zwar zur Frage zurück, lässt aber keine Eingabe mehr zu beendet das Programm danach, als ob ein Zeichen zur Beendigung des Programmes eingegeben worden ist.
In meiner Verzweiflung habe ich zur if-Abfrage noch ein zweites Programm mit Switch-Anweisung probiert, dass insgesamt aber dasselbe Problem hat.
Ich habe schon vieles probiert, über andere Klammersetzung, anderen Beginn der for-Schleife, Funktionsaufrufe einzubauen, break, continue or returns zu benutzen.
Ich würde wahnsinning gerne wissen, wo der Fehler liegt bzw. das Programm wie gewünscht zum Laufen gebracht werden kann und bin dankbar für jede Hilfe.





  Profil  Quote  Link auf diesen Beitrag Link
Folgende Antworten hat der Fragesteller vermutlich noch nicht gesehen.
Diophant
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 18.01.2019
Mitteilungen: 3804
Aus: Rosenfeld, BW
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2020-03-18


Hallo RatMac,

ich hätte fürs erste nur eine Bitte: könntest du deinen Quelltext noch in einen sog. Quelltext-Bereich packen?

Du findest einen Link zum Erzeugen eines solchen Bereichs unterhalb des Beitrags-Editors, hier im Bild gelb markiert:



Das sieht dann etwa so aus:
C
#include stdio.h
 
int main(){
printf("Hallo Welt");
}

Und wurde so erzeugt:
\sourceon C
#include stdio.h

int main(){
printf("Hallo Welt");
}
\sourceoff


Dann kann man das vernünftig lesen, was sicherlich einer raschen und zielführenden Antwort zuträglich ist.


Gruß, Diophant







  Profil  Quote  Link auf diesen Beitrag Link
Creasy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 22.02.2019
Mitteilungen: 495
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, eingetragen 2020-03-18


Hallo

Ich hab herzlich wenig Ahnung von C aber wieso sagst du, es springt zur ersten Frage zurück. In der Console steht doch: press enter any key .. und das ist nicht deine erste Frage?

Ich würde mal das Return 0 in der Else Abfrage entfernen, da du dadurch die Schleife verlässt und die Main Methode beendest .

Grüße
Creasy


-----------------
Smile (:



  Profil  Quote  Link auf diesen Beitrag Link
DerEinfaeltige
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 11.02.2015
Mitteilungen: 2235
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2020-03-18


Es liegt mutmaßlich daran:

Nach Eingabe der Zahl bestätigst du mit der Eingabetaste.
Die Zahl wird mit scanf("%d") aus dem Zeichenstrom gelesen, der Zeilenumbruch jedoch nicht!
Der nächste Aufruf von scanf("%c") liest daher die Eingabetaste und das Programm bricht "wie gewünscht" (Eingabe ungleich 'a') ab.


Kopf hoch:
Wer noch nie einen derartigen Bugs produziert hat, hat sicherlich auch noch nie versucht C zu programmieren. ;)


-----------------
Why waste time learning when ignorance is instantaneous?
- Bill Watterson -



  Profil  Quote  Link auf diesen Beitrag Link
StrgAltEntf
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 19.01.2013
Mitteilungen: 5862
Aus: Milchstraße
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, eingetragen 2020-03-18


Hallo RatMac,

vor default fehlt außerdem noch ein break.



  Profil  Quote  Link auf diesen Beitrag Link
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2020 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]