You are using isdigit wrong. Read its documentation to find out what it actually does.
You probably meant:
if ( number >= 0 && number <= 9 )
However you also need to check whether scanf succeeded or not. If they type in some words, then
scanf("%d" fails and does not update
number, so trying to access
number in that case accesses an uninitialized variable. To deal with that you could either check the return value of
scanf, or do:
int number = -1; scanf("%d",&number);
because the value will be left unchanged if the input failed.