Hallo, ich hoffe mir kann jemand bei einer Aufgabe helfen.
Im folgenden kommt die Aufgabenstellung:
"Text statt Zahl
Schreiben Sie ein Programm, dass einen int einliest. Wenn der Benutzer eine gültige Eingabe macht, soll dies bestätigt und die Zahl wieder ausgegeben werden. Falls der Benutzer aber z.B. einen Buchstaben eingegeben hat, soll eine Fehlermeldung erscheinen."
Mein Ansatz wäre gewesen, dass ich eine if-else Verzweigung mache. Um die gemachte Eingabe zu überprüfen. Der Professor hat jedoch einen anderen Ansatz gewählt, den ich leider nicht nachvollziehen kann. Hab es schon gegoogelt gehabt aber den Syntax so nicht gefunden (da ich nicht weiss, was das genau ist)
Programm:
#include<stdio.h>
int main( void )
{
int zahl;
int scanfKontrolle;
printf("Bitte ganze Zahl eingeben: ");
scanfKontrolle = scanf("%d", &zahl );
scanfKontrolle ?
printf("zahl = %d\n", zahl )
:
printf("Fehler bei Eingabe\n");
return 0;
}
Übrigens läuft das Programm auch nicht. Hab es schon versucht in Codeblocks zum laufen zu bringen. Ich persönlich würde auf eine Verzweigung zurück greifen (switch-case oder if-else) aber falls solch eine Frage in der Klausur dran kommt, sollte ich das zumindest verstanden haben.
Danke für jede Hilfe im voraus.
Im folgenden kommt die Aufgabenstellung:
"Text statt Zahl
Schreiben Sie ein Programm, dass einen int einliest. Wenn der Benutzer eine gültige Eingabe macht, soll dies bestätigt und die Zahl wieder ausgegeben werden. Falls der Benutzer aber z.B. einen Buchstaben eingegeben hat, soll eine Fehlermeldung erscheinen."
Mein Ansatz wäre gewesen, dass ich eine if-else Verzweigung mache. Um die gemachte Eingabe zu überprüfen. Der Professor hat jedoch einen anderen Ansatz gewählt, den ich leider nicht nachvollziehen kann. Hab es schon gegoogelt gehabt aber den Syntax so nicht gefunden (da ich nicht weiss, was das genau ist)
Programm:
#include<stdio.h>
int main( void )
{
int zahl;
int scanfKontrolle;
printf("Bitte ganze Zahl eingeben: ");
scanfKontrolle = scanf("%d", &zahl );
scanfKontrolle ?
printf("zahl = %d\n", zahl )
:
printf("Fehler bei Eingabe\n");
return 0;
}
Übrigens läuft das Programm auch nicht. Hab es schon versucht in Codeblocks zum laufen zu bringen. Ich persönlich würde auf eine Verzweigung zurück greifen (switch-case oder if-else) aber falls solch eine Frage in der Klausur dran kommt, sollte ich das zumindest verstanden haben.
Danke für jede Hilfe im voraus.