с неправильным ответом

Напишите программу для выдачи изменений. Пользователь вводит уплаченную сумму и причитающуюся сумму. Программа определяет, сколько долларов, кварталов, центов, никелей и копеек следует отдавать в качестве сдачи. Спросите пользователя о двух входных данных (причитающаяся сумма и выплаченная сумма) в main (), а затем отправьте их вместе с указателями на 5 параметров (доллары, кварталы, десять центов, никели, пенни) в функцию с именем change (), которая затем рассчитать количество каждого, чтобы выдать. Вывести результаты из main ().

так что моя программа компилируется хорошо, но получаю неправильный ответ. Что я делаю неправильно.

#include <stdio.h>
#include <conio.h>

//function prototype
void change( int *d, int *q, int *di, int *n, int *p, int paid, int due );


int main()
{
    //variables
    int paid;
    int due;
    int dollars;
    int quarters;
    int dimes;
    int nickels;
    int pennies;

    //reference variables
    int *d;
    int *q;
    int *di;
    int *n;
    int *p;

    printf( "Enter amount due: \n" );
    scanf( "%d", &due );

    printf( "Enter amount paid: \n" );
    scanf( "%d", &paid );

    change( &dollars, &quarters, &dimes, &nickels, &pennies, paid, due );

    printf( "Dollars = %d\nquarters = %d\ndimes =%d\nnickels = %d\npennies = %d", dollars, quarters, dimes, nickels, pennies );

    getch();
    return 0;
}

void change(int *d,int *q,int *di, int *n, int *p, int paid, int due )
{
    int dollarChange;
    int quarterChange;
    int dimeChange;
    int nickelChange;
    int pennyChange;
    int modu;
    int modu2;
    int modu3;
    int total;
    int penniestotal;

    total = due - paid;

    penniestotal = total * 100;

    dollarChange = penniestotal / 100;
    modu = penniestotal % 100;
    quarterChange = modu / 25;
    modu2 = modu % 25;
    dimeChange = modu2 / 10;
    modu3 = modu2 % 10;
    nickelChange = modu3 / 5;
    pennyChange = modu3 % 5;
}

Ответы на вопрос(1)

Ваш ответ на вопрос