Connecting Tech Pros Worldwide Forums | Help | Site Map

Invalid operands to binary %

Newbie
 
Join Date: Oct 2008
Posts: 16
#1: Oct 11 '08
I'm a little confused about and error my compiler is giving me. The error message is "invalid operand to binary %." The compiler says that this code *avg = *range %10; Isn't this a valid binary operation in C?

Quote:
#include<stdio.h>
#include<stdlib.h>

#define Lower_Limit 0
#define Upper_Limit 100

void readScores( float *s1,float *s2, float *s3);

void determineAvg(float *s1,float *s2,float *s3, float *avg,int *range);

void printResults( float*avg);

int main(void){

float s1,s2,s3;
float A,B,C,D,F,avg;
int range;
readScores(&s1,&s2,&s3);
determineAvg(&s1,&s2,&s3,&avg,&range);
printResults(&avg);
return 0;




}

void readScores(float *s1, float *s2, float *s3){

printf("Enter three avgs to be calculated\n");
scanf("%f %f %f",s1,s2,s3);
}

void determineAvg(float *s1,float *s2,float *s3,float *avg,int *range)
{


*avg = (*s1+*s2+*s3)/3;
*range = (*avg)%10;
printf("%d",*range);


}

void printResults(float *avg){
printf("This is avg one %f\n",*avg);
return;
}

boxfish's Avatar
Expert
 
Join Date: Mar 2008
Location: California
Posts: 478
#2: Oct 11 '08

re: Invalid operands to binary %


The % operator can only be used with two int operands. Take a look at fmod from the math library.
Hope this helps.
Newbie
 
Join Date: Oct 2008
Posts: 16
#3: Oct 11 '08

re: Invalid operands to binary %


Thant did it! Thanks.
Reply