Mister master
Erfahrenes Mitglied
hallo
bei dieser Aufgabe (Zahlen einlesen und kontrollieren ob sie ungerade oder gerade sind, klein a bricht ab):
wird das Enter (wahrscheinlich) als gerade Zahl dazugerechnet, obwohl es eigentlich 13 in ascii wäre.
Kann mir bitte irgentjemand helfen?
PS: falls Professor anwesend: es tut mir leid.
thx im vorraus: die gesammte Klasse.
bei dieser Aufgabe (Zahlen einlesen und kontrollieren ob sie ungerade oder gerade sind, klein a bricht ab):
Code:
#ifndef STDIO_H
#include <stdio.h>
#endif
int main(void)
{
int iZahl = 0, iAnzahlgerade = 0, iAnzahlungerade = 0, iAlle = 0;
char cZahl;
printf("bitte geben sie beliebig viele Zahlen ein:\n");
do
{
scanf("%c", &cZahl);
iZahl = (int) cZahl;
if(iZahl%2 == 0)
{
iAnzahlgerade++;
}
else
{
iAnzahlungerade++;
}
}
while(cZahl != 'a');
iAnzahlungerade--; //wegen 97 (a in ascii)
printf("Gerade: %i \n", iAnzahlgerade);
printf("Ungerade %i \n", iAnzahlungerade);
return 0;
}
wird das Enter (wahrscheinlich) als gerade Zahl dazugerechnet, obwohl es eigentlich 13 in ascii wäre.
Kann mir bitte irgentjemand helfen?
PS: falls Professor anwesend: es tut mir leid.

thx im vorraus: die gesammte Klasse.