Возможно, попробуйте сделать несколько макросов, подобных этому:
#define IS_UPPER(c) ( (c) >= 'A' && (c) <= 'Z' )
#define IS_LOWER(c) ( (c) >= 'a' && (c) <= 'z')
#define TO_UPPER(c) ( (c) -= ('a' - 'A'))
#define TO_LOWER(c) ( (c) += ('a' - 'A'))
#define IS_ALPHA(c) ( IS_UPPER(c) || IS_LOWER(c) )
И посмотри, сможешь ли ты заставить что-то работать
void homework(char * txt)
{
while(*txt != NUL)
{
/* do some stuff */
txt++;
}
}