#include <stdio.h>

int myIsDigit(int character)
{
    return character >= '0' &&
           character <= '9';
}

int myIsAlpha(int character)
{
    return (character >= 'A' &&
            character <= 'Z') ||
           (character >= 'a' &&
            character <= 'z');
}

int myIsAlnum(int character)
{
    return myIsDigit(character) ||
           myIsAlpha(character);
}

int myIsXDigit(int character)
{
    return (character >= '0' &&
            character <= '9') ||
           (character >= 'A' &&
            character <= 'F') ||
           (character >= 'a' &&
            character <= 'f');
}

int myIsLower(int character)
{
    return character >= 'a' &&
           character <= 'z';
}

int myIsUpper(int character)
{
    return character >= 'A' &&
           character <= 'Z';
}

int myToLower(int character)
{
    if (myIsUpper(character))
    {
        return character + ('a' - 'A');
    }

    return character;
}

int myToUpper(int character)
{
    if (myIsLower(character))
    {
        return character - ('a' - 'A');
    }

    return character;
}

int myIsSpace(int character)
{
    return character == ' ' ||
           character == '\n' ||
           character == '\t' ||
           character == '\r' ||
           character == '\f' ||
           character == '\v';
}

int myIsPunct(int character)
{
    if (!myIsAlnum(character) &&
        character != ' ' &&
        character >= 32 &&
        character <= 126)
    {
        return 1;
    }

    return 0;
}

int myIsPrint(int character)
{
    return character >= 32 &&
           character <= 126;
}

int myIsGraph(int character)
{
    return character >= 33 &&
           character <= 126;
}

int main(void)
{
    char character;

    printf("Enter a character: ");
    scanf("%c", &character);

    printf("myIsDigit = %d\n",
           myIsDigit(character));

    printf("myIsAlpha = %d\n",
           myIsAlpha(character));

    printf("myIsAlnum = %d\n",
           myIsAlnum(character));

    printf("myIsXDigit = %d\n",
           myIsXDigit(character));

    printf("myIsLower = %d\n",
           myIsLower(character));

    printf("myIsUpper = %d\n",
           myIsUpper(character));

    printf("myIsSpace = %d\n",
           myIsSpace(character));

    printf("myIsPunct = %d\n",
           myIsPunct(character));

    printf("myIsPrint = %d\n",
           myIsPrint(character));

    printf("myIsGraph = %d\n",
           myIsGraph(character));

    printf("myToLower = %c\n",
           myToLower(character));

    printf("myToUpper = %c\n",
           myToUpper(character));

    return 0;
}