Error: called object is not a function or function pointet
mmmtv
Messages postés
1
Statut
Membre
-
[Dal] Messages postés 6373 Statut Contributeur -
[Dal] Messages postés 6373 Statut Contributeur -
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);
}
}
A voir également:
- Error: called object is not a function or function pointet
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Error 1962 ✓ - Forum PC fixe
- Bad request error 403 paiement ✓ - Forum Réseaux sociaux
- Whea error occt - Forum Processeur
- A javascript error occurred in the main process - Forum Matériel & Système
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 :
et ce qui suit
ton prototype de main devrait être
Pourquoi ne pas utiliser le type double pour tes nombres ?
La variable
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 être
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
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)==50 est 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 être
int main(void)et ton code se terminer par
return 0sauf si tu programmes pour de l'embarqué.
Pourquoi ne pas utiliser le type double pour tes nombres ?
La variable
litteralen'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 être
globaleau 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