Wo ist der Fehler?

Status
Nicht offen für weitere Antworten.

Markus Kolletzky

Come here the voices
Moderator
Hi Folks,

habe hier mal ne kleine Frage, ich gebe in C diesen Code ein und da kommt immer ne Fehlermeldung ( Ausgabe "falsche eingabe..." kommt 2mal bevor er wieder zur eingabe kommt) WOran liegt das? Sorry, bin in C nur ein , is bestimmt recht einfach für Euch. Danke schon mal im Vorraus.

Code:
start: 
	printf("\n1) Eingabe in gaussscher Zahlenebene\n2) Eingabe in Polarkoordinaten\nx) Programm beenden\n\n");
	printf("\nEingabe:");
	scanf("%c",&z);
	if (z=='1') goto y;
	else if (z=='2') goto z;
	else if (z=='x') goto x;
	else printf("Falsche Eingabe! Bitte wiederholen!\n\n");
	goto start;
 
Zuletzt bearbeitet:
benutz mal
Code:
scanf("%1s",&z);

dann funktioniert das.
anscheinend hat er sonst Probleme mit dem Enter.

chars kannst Du sonst auch gut über getchar() oder aus der conio.h mit getch() einlesen (conio.h scheint es aber in Linux nicht wirklich zu geben, jedenfalls hab ich damit immer Probleme gehabt)

Ansonsten geb ich Dir nen guten Tip: Verzichte bloss auf diese goto-Anweisungen, das ist keine übersichtliche und strukturierte Programmierung. Da schaut Dich jeder schon schief an, wenn du Ihm sowas präsentierst. Hier natürlich nicht, hier gibts jedesmal nen Tip ;)
 
Danke für die schnelle Hilfe, ich werds weiterleiten (habs nämlich für nen Kollege gepostet ... nicht böse sein ;))

Schönen Abend noch
ALF
 
Sorry, OFF-Topic:

Nein, der Kollege ist nicht registriert, deswegen hab ich das für ihn übernommen.

P.S. Lösch den Post, wenns zu off-topic-isch ist :p
 
Status
Nicht offen für weitere Antworten.
Zurück