I am new to C and am attempting to create a program to find the compound interest of a bank account.
I am using three functions with pointers, one to get data, one for calculations, and one for printing the data into a table. I am assuming that my confusion with pointers is causing the calculated values to print incorrectly in the table.
As it stands I am not receiving any errors, but a number of warnings about my pointers "default to int".
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//Function declarations
void GETDATA(double* StartAmnt, float* IntrRate, int* NumYears, int* StartYear);
void Mathemagic (double StartAmnt, float IntrRate, int NumYears, int StartYear,
                 float* IntrEarned, float* PercentGained,long double* FutureValue,
                 int* FutureYear);
void PRINTTABLE (double StartAmnt, float IntrRate, int NumYears, int StartYear,
                 float IntrEarned, float PercentGained,long double FutureValue,
                 int FutureYear);
int main(void)
{
    //Local Declarations
    double StartAmnt;
    float IntrRate;
    float IntrEarned;
    float PercentGained;
    long double FutureValue;
    int NumYears;
    int StartYear;
    int FutureYear;
    //Statements
    GETDATA (&StartAmnt, &IntrRate, &StartYear, &NumYears);
    Mathemagic (StartAmnt, IntrRate, StartYear, NumYears, &IntrEarned,
                &PercentGained, &FutureValue, &FutureYear);
    PRINTTABLE (StartAmnt, IntrRate, NumYears, StartYear, IntrEarned,
                PercentGained, FutureValue, FutureYear);
    return 0;
}//main
void GETDATA(double* StartAmnt, float* IntrRate, int* NumYears, int* StartYear)
{
    //Statements
    printf("COP 2220-51014 Project 2: Michael Walt\n\n");
    printf("Enter a Starting amount (dollars and cents): ");
    scanf("%lf", StartAmnt);
    printf("Enter an Interest rate (ex. 2.5 for 2.5%):   ");
    scanf("%f", IntrRate);
    printf("Enter the Number of years (integer number):  ");
    scanf("%d", NumYears);
    printf("Enter the Starting year (four digits):       ");
    scanf("%d", StartYear);
    return;
}//GETDATA
void Mathemagic (double StartAmnt, float IntrRate, int NumYears, int StartYear,
                 float* IntrEarned, float* PercentGained,long double* FutureValue,
                 int* FutureYear)
{
    //Statements
    *FutureValue = StartAmnt*pow((1+(IntrRate/100)),NumYears);
    *PercentGained =((*FutureValue - StartAmnt)/StartAmnt)*100;
    *IntrEarned = (*FutureValue-StartAmnt);
    *FutureYear = (StartYear+NumYears);
    return;
}//Mathemagic
PRINTTABLE(StartAmnt, IntrRate, NumYears, StartYear, IntrEarned,
           PercentGained, FutureValue, FutureYear)
{
    printf("\n+-----------------------------+--------------+\n");
    printf("| Description                 |  Input Data  |\n");
    printf("|-----------------------------+--------------|\n");
    printf("| Starting amount             | $  %.2f  |\n", StartAmnt);
    printf("| Interest rate               |        %f%% |\n", IntrRate);
    printf("| Number of Years             |        %d     |\n", NumYears);
    printf("| Starting year               |     %d     |\n", StartYear);
    printf("+-----------------------------+--------------+\n");
    printf("| Future value                |   Results    |\n");
    printf("|-----------------------------+--------------|\n");
    printf("| In %d the balance will be | $  %f  |\n", FutureYear, FutureValue);
    printf("| Interest earned             | $   %f  |\n", IntrEarned);
    printf("| Total percent gained        |       %f%% |\n", PercentGained);
    printf("+-----------------------------+--------------+\n");
    return;
}
 
     
     
    