Would this C function work?
I keep getting these errors of "passing argument 'somenumber' of ‘somefunction’ from incompatible pointer type"
So would this function work?
*Please assume that the call would be in a main function and this were part of an actual working program.
Code:
int checkPassReqs (double *avg1[10], double *avg2[10], char *Pass[10], int *Finals[10], int *ExtraCredit[10], double *Grade[10], int *Assignments[70], int *Midterms[20]); //declaration
Code:
checkPassReqs (&avg1[10], &avg2[10], &Pass[10], &Finals[10], &ExtraCredit[10], &Grade[10], &Assignments[70], &Midterms[20]); //call
int checkPassReqs (double *avg1[10], double *avg2[10], char *Pass[10], int *Finals[10], int *ExtraCredit[10], double *Grade[10], int *Assignments[70], int *Midterms[20]) //definition
{
int i;
for (i=0; i<10; i++)
{
*avg1[i] = (*Assignments[(7 * i)] + *Assignments[(7 * i) + 1] + *Assignments[(7 * i) + 2] + *Assignments[(7 * i) + 3] + *Assignments[(7 * i) + 4] + *Assignments[(7 * i) + 5] + *Assignments[(7 * i) + 6])/7;
*avg2[i] = (*Midterms[(2 * i)] + *Midterms[(2 * i) + 1])/2;
}
for (i=0; i<10; i++)
{
if (*Pass[i] != 'P')
*Grade[i] = 0.0;
if (*avg1[i] < 70.0)
*Grade[i] = 0.0;
if (*avg2[i] < 60.0)
*Grade[i] = 0.0;
if (*Finals[i] < 60.0)
*Grade[i] = 0.0;
if (*Grade[i] != 0.0)
*Grade[i] = ((*avg1[i] + *avg2[i] + *Finals[i] + *ExtraCredit[i])/3);
}
return 0;
}