Error: called object is not a function or function pointet
mmmtv
Messages postés
1
Statut
Membre
-
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir,
J'ai reçu ce message d'erreur concernant la ligne 21 de mon code. Je suis débutante et je n'arrive pas à comprendre ce que ce message signifie.
Merci.
1#include <stdio.h>
2
3 main()
4{
5 float moyPond;
6 float intra;
7 float final;
8 float tps;
9 float globale;
10 float litterale;
11
12 printf ("\nEntrez la note d'intro et de final:\n");
13 scanf ("%f %f %f", &intra, &final);
14
15 moyPond = (intra * 0.25 + final * 0.35)/ 0.60;
16 printf("La moyenne pondérée est de %f", moyPond);
17
18 printf ("Entrez la note de TPS:\n");
19 scanf ("%f", &tps);
20
21 If ((moyPond<40) && (tps>50))
("%f", &tps)==50;
globale = 0.25 * intra + 0.35 * final + 0.40 * tps;
{
if ((globale>90) && (globale<100))
printf("L'etudiant/e a eu %f comme note globale et A+ comme note litterale.\n", &globale);
else if ((globale>85) && (globale<89))
printf("L'etudiant/e a eu %f comme note globale et A comme note litterale.\n", &globale);
else if ((globale>80) && (globale<84))
printf("L'etudiant/e a eu %f comme note globale et A- comme note litterale.\n", &globale);
else if ((globale>77) && (globale<79))
printf("L'etudiant/e a eu %f comme note globale et B+ comme note litterale.\n", &globale);
else if ((globale>73) && (globale<76))
printf ("L'etudiant/e a eu %f comme note globale et B comme note litterale.\n", &globale);
else if ((globale>70) && (globale<72))
printf("L'etudiant/e a eu %f comme note globale et B- comme note litterale.\n", &globale);
else if ((globale>65) && (globale<69))
printf ("L'etudiant/e a eu %f comme note globale et C+ comme note litterale.\n", &globale);
else if ((globale>60) && (globale<64))
printf ("L'etudiant/e a eu %f comme note globale et C comme note litterale.\n", &globale);
else if ((globale>57) && (globale<59))
printf ("L'etudiant/e a eu %f comme note globale et C- comme note litterale.\n", &globale);
else if ((globale>54) && (globale<56))
printf ("L'etudiant/e a eu %f comme note globale et D+ comme note litterale.\n", &globale);
else if ((globale>50) && (globale<53))
printf ("L'etudiant/e a eu %f comme note globale et D comme note litterale.\n", &globale);
else if ((globale>35) && (globale<49))
printf ("L'etudiant/e a eu %f comme note globale et D- comme note litterale.\n", &globale);
else if ((globale>0) && (globale<34))
printf ("L'etudiant/e a eu %f comme note globale et E comme note litterale.\n", &globale);
}
}
J'ai reçu ce message d'erreur concernant la ligne 21 de mon code. Je suis débutante et je n'arrive pas à comprendre ce que ce message signifie.
Merci.
1#include <stdio.h>
2
3 main()
4{
5 float moyPond;
6 float intra;
7 float final;
8 float tps;
9 float globale;
10 float litterale;
11
12 printf ("\nEntrez la note d'intro et de final:\n");
13 scanf ("%f %f %f", &intra, &final);
14
15 moyPond = (intra * 0.25 + final * 0.35)/ 0.60;
16 printf("La moyenne pondérée est de %f", moyPond);
17
18 printf ("Entrez la note de TPS:\n");
19 scanf ("%f", &tps);
20
21 If ((moyPond<40) && (tps>50))
("%f", &tps)==50;
globale = 0.25 * intra + 0.35 * final + 0.40 * tps;
{
if ((globale>90) && (globale<100))
printf("L'etudiant/e a eu %f comme note globale et A+ comme note litterale.\n", &globale);
else if ((globale>85) && (globale<89))
printf("L'etudiant/e a eu %f comme note globale et A comme note litterale.\n", &globale);
else if ((globale>80) && (globale<84))
printf("L'etudiant/e a eu %f comme note globale et A- comme note litterale.\n", &globale);
else if ((globale>77) && (globale<79))
printf("L'etudiant/e a eu %f comme note globale et B+ comme note litterale.\n", &globale);
else if ((globale>73) && (globale<76))
printf ("L'etudiant/e a eu %f comme note globale et B comme note litterale.\n", &globale);
else if ((globale>70) && (globale<72))
printf("L'etudiant/e a eu %f comme note globale et B- comme note litterale.\n", &globale);
else if ((globale>65) && (globale<69))
printf ("L'etudiant/e a eu %f comme note globale et C+ comme note litterale.\n", &globale);
else if ((globale>60) && (globale<64))
printf ("L'etudiant/e a eu %f comme note globale et C comme note litterale.\n", &globale);
else if ((globale>57) && (globale<59))
printf ("L'etudiant/e a eu %f comme note globale et C- comme note litterale.\n", &globale);
else if ((globale>54) && (globale<56))
printf ("L'etudiant/e a eu %f comme note globale et D+ comme note litterale.\n", &globale);
else if ((globale>50) && (globale<53))
printf ("L'etudiant/e a eu %f comme note globale et D comme note litterale.\n", &globale);
else if ((globale>35) && (globale<49))
printf ("L'etudiant/e a eu %f comme note globale et D- comme note litterale.\n", &globale);
else if ((globale>0) && (globale<34))
printf ("L'etudiant/e a eu %f comme note globale et E comme note litterale.\n", &globale);
}
}
1 réponse
-
Salut mmmtv,
Pas mal d'erreurs...
En ligne 21, tu mets une majuscule à "if", qui cause une erreur, quant à la suite du if, cela ne respecte pas la syntaxe de :
if (condition) { /* bloc à exécuter */ }
et ce qui suit("%f", &tps)==50est assez peu compréhensible, et résulte en une expression évaluée par C qui ne sert à rien dans le meilleur des cas. Que veux-tu faire exactement ?
ton prototype de main devrait êtreint main(void)
et ton code se terminer parreturn 0
sauf si tu programmes pour de l'embarqué.
Pourquoi ne pas utiliser le type double pour tes nombres ?
La variablelitterale
n'est ps utilisée.
En ligne 13, tes spécificateurs de conversion sont au nombre de trois, alors que tu n'as que deux arguments.
Dans tes printf, tu cherches à afficher la valeur du nombre et non pas son pointeur. Donc, l'argument devrait êtreglobale
au lieu de&globale
.
Je n'ai pas regardé le reste du code et sa pertinence.
Note que ces différentes erreurs et leur localisation te sont données par un compilateur tel que gcc lorsque tu compiles avec les warnings (option -Wall avec gcc).
Dal