[ marko_81 @ 11.05.2009. 10:46 ] @
Hocu da ispitam da li je uneti karakter cifra ili ne. Koristim funkciju isdigit. Funkcija lepo radi ako se unose pozitivni brojevi. Problem mi prave negativni brojevi jer karakter '-' nije cifra. Napravio sam neku funkciju ali mi se cini da postoji i elegantnije resenje. Evo koda: Code: int isNumber(char *s) { if (s[0] == '-') { s++; return checkNumber(s); } return checkNumber(s); } int checkNumber(char *s) { while (*s != '\0') { if (!isdigit(*s)) return 0; s++; } return 1; } int main(void) { char str[255]; int flag; printf("Unesi karakter: "); gets(str); flag = isNumber(str); printf("Uneti karakter %s.\n", (flag) ? "je broj" : "nije broj"); return 0; } Zna li neko da li postoji i krace i elegantnije resenje za ovaj problem? |