themaddin
29.10.2006, 18:37
Hi!
Es hat zwar jetzt nichts mit MCs zu tun, aber ich poste es trotzdem mal hier. Es handelt sich ja immerhin um ANSI-C.
Ich habe nämlich folgendes Programm:
#include <stdio.h>
int main(void)
{
int r=0, zahl=9;
while(r==0)
{
printf("Geben Sie eine Zahl ein: ");
r = scanf("%i",&zahl);
}
return 0;
}
Ich möchte jetzt, dass wenn ein Buchstabe oder irgendwas anderes als eine Integer-Zahl eingegeben wird, dass die Aufforderung eine Zahl einzugeben nochmal kommt.
Gebe ich eine ganze Zahl ein beendet das Programm einfach. Das ist soweit ok.
Gebe ich jetzt irgendeinen Buchstaben ein, gibt er mir in einer Endlosschleife den Text vom printf-Befehl aus und überspringt irgendwie immer den scanf-Befehl.
Was läuft da falsch?
Ausführen, programmieren, compilieren lasse ich das ganze mit MS Visual C++.
MfG
Martin
Es hat zwar jetzt nichts mit MCs zu tun, aber ich poste es trotzdem mal hier. Es handelt sich ja immerhin um ANSI-C.
Ich habe nämlich folgendes Programm:
#include <stdio.h>
int main(void)
{
int r=0, zahl=9;
while(r==0)
{
printf("Geben Sie eine Zahl ein: ");
r = scanf("%i",&zahl);
}
return 0;
}
Ich möchte jetzt, dass wenn ein Buchstabe oder irgendwas anderes als eine Integer-Zahl eingegeben wird, dass die Aufforderung eine Zahl einzugeben nochmal kommt.
Gebe ich eine ganze Zahl ein beendet das Programm einfach. Das ist soweit ok.
Gebe ich jetzt irgendeinen Buchstaben ein, gibt er mir in einer Endlosschleife den Text vom printf-Befehl aus und überspringt irgendwie immer den scanf-Befehl.
Was läuft da falsch?
Ausführen, programmieren, compilieren lasse ich das ganze mit MS Visual C++.
MfG
Martin