This is a c program that is failing to compile. The error occurs in the calcLabs() function. The error called out is (btw, I'm using VS 2010): Error 4 error C2143: syntax error : missing ';' before 'type'
I don't understand why the compiler is not letting me declare variables in the calcLabs() function!
Code:#include<stdio.h> #include<stdlib.h> void calcPercent(double *); double calcLabs(); double calcExams(); double calcFinal(); char calcLetter(float); main() { char fullname[16]; double perGrade = 100; char letGrade = 'A'; int scount = 0; FILE * fptr; fptr = fopen("grades.txt", "w"); if(fptr == NULL) { //message exit } fprintf(fptr, " GRADES REPORT\n\n" ); fprintf(fptr, " NAME %%GRADE LETTER\n" ); printf("\n Enter a student or 0 to exit: "); scanf("%15[^\n]s", fullname); fflush(stdin); while(fullname[0]!='0') { printf("\n Processing ..."); calcPercent(&perGrade); //calcLetter(); fprintf(fptr, "\n %-16s%9.2f%4c ", fullname, perGrade, letGrade); scount++; printf("\n Enter a student or 0 to exit: "); scanf("%15[^\n]s", fullname); fflush(stdin); } fprintf(fptr, "\n\n Student count is %d ", scount); fclose(fptr); return(0); } void calcPercent(double * ptr_perGrade) { double labTotal; double examTotal; double finalTotal; labTotal = calcLabs(); examTotal = calcExams(); finalTotal = calcFinal(); //*ptr_perGrade = labTotal+examTotal+finalTotal; } double calcLabs(void) { printf("Got here calcLabs"); double score = 0.0; // THIS IS THE LINE CALLED OUT IN THE ERROR /** double sum = 0.0; double average = 0.0; double result = 0.0; for(int i = 0; i < 8; i++) { printf("\n Enter Lab: "); scanf("%f", &score); sum += score; } average = sum / 8; result = average * .4; **/ return 0.0; } double calcExams() { printf("Got here calcExams"); return 0.0; } double calcFinal() { printf("Got here calcFinal"); return 0.0; } char calcLetter() { printf("Got here calcLetter"); return 'a'; }




Reply With Quote