Calculate how many coins, coin values are 50, 20, 10 and 5 The code should enter an integer between 5-95 and calculate how many coins, coin values are 50, 20, 10 and 5.

My concern is the CalcChange function and whether that is acceptable C code.

#include &lt;stdio.h&gt;

#define TRUE 1
#define FALSE 0


void GetNum(int &amp;amount)
{
        printf("Enter an integer between 5 and 95 inclusive:\n");
        scanf("%d%*c", &amp;amount);

        return;
}

int Verify(int amount)
{
        if(amount &lt;= 4 || amount &gt;= 95)
                return FALSE;

        return(TRUE);
}

//Function calculates number of coins for each denomination
//and returns the remainder as the new value of amount
//until remainder is &lt;= 4

int CalcChange(int &amp;amount, int denomination)
{

        int change = amount / denomination;

        amount = amount % denomination;

        return(change);

}

//Instead of wasting the remainder, lets donate it to charity
void PrintResult(int fifty, int twenty, int ten, int five, int remainder)
{
        printf("\n%d 50c coins\n%d 20c coins\n%d 10c coins\n%d 5c coins.\n", fifty, twenty, ten, five);
        printf("\nThe remainder of %d cents will be donated to charity.\n", remainder);

        return;
}

int main()
{
        int a, change, fifty, twenty, ten, five, remainder;

        GetNum(a);

        Verify(a);

        if(Verify(a))
        {
                fifty = CalcChange(a, 50);
                twenty = CalcChange(a, 20);
                ten = CalcChange(a, 10);
                five = CalcChange(a, 5);
                remainder = CalcChange(a, 1);

                PrintResult(fifty, twenty, ten, five, remainder);
        }
        else
        {
                printf("\n%d is out of range!\n", a);
        }

        return(0);
}
Invalid C code

OP’s C compiler may support various language extensions, but int &amp;amount is not supported in standard C  @Ben Steffan. This makes the code less portable and harder to review.

// void GetNum(int &amp;amount)
// scanf("%d%*c", &amp;amount);
void GetNum(int *amount)  // Let caller pass the address of `amount` instead
scanf("%d%*c", amount);


Lack of error checking/weak end-of-line consumption

scanf("%d%*c", &amp;amount); does not check the return value from scanf().  Should the user enter non-numeric data, nothing is scanned, amount will not be changed and offending input remains in stdin.
Alternative code;

int GetNum(int *amount) {
  printf("Enter an integer between 5 and 95 inclusive:\n");
  char buf[80];
  if (fgets(buf, sizeof buf, stdin)) return EOF;
  char ch;
  // Does input consists of one `int` and not trailing junk?
  if (sscanf(buf, "%d %c", amount, &amp;ch) != 1) return 0; // Invalid input
  return 1; // success;
}


Unneeded ()

// return(change);
return change;


Consider standard true/false and bool.

// #define TRUE 1
// #define FALSE 0
// int Verify(int amount)
//   return FALSE;

#include &lt;stdbool.h&gt;
bool Verify(int amount)
  return false;


See also to use '#include ' in VS 2010
 and We also added the new headers ..., stdbool.h,



Thought for a likely next assignment: 

Consider how to make 60c change when the available coins are only 50c,20c,20c,20c using the below algortim.

fifty = CalcChange(a, 50, 1);
twenty = CalcChange(a, 20, 3);
ten = CalcChange(a, 10, 0);