2012-05-18 1 views
0

je le code suivant:erreurs C avec la méthode

#define MIDTERM_PERCENTAGE 40 
#define FINAL_PERCENTAGE 60 
#define ARRAY_LENGTH(array) (sizeof((array))/sizeof((array)[0])) 

struct student 
{ 
    char name[20]; 
    int midterm; 
    int final; 
    int grade; 
} 

int calcGrade(struct student s) { 
    int midterm = (s.midterm * MIDTERM_PERCENTAGE)/100; 
    int final = (s.final * FINAL_PERCENTAGE)/100; 
    int grade = midterm + final; 
    return grade; 
} 

Et je reçois ces erreurs:

student.c:13: two or more data types in declaration of `calcGrade' 
student.c: In function `calcGrade': 
student.c:17: incompatible types in return 

J'ai également un fichier d'en-tête qui a la déclaration suivante:

int calcGrade(struct student s); 

Cependant, je ne vois pas mes erreurs. J'ai pensé que c'était peut-être un problème avec ma division mais comme il ne me donne pas d'erreur sur la définition de grade = midterm + final, je ne vois pas pourquoi j'ai un problème avec mon type de retour.

Répondre

5

Vous avez oublié un point-virgule après la fin de la définition de structure.