Programme C++ moyenne
Fermé
GINA
-
30 oct. 2011 à 15:25
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 8 nov. 2011 à 15:12
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 8 nov. 2011 à 15:12
A voir également:
- Écrire un programme en c qui calcule la moyenne pdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Comment calculer la moyenne sur excel - Guide
- Comment réduire la taille d'un pdf - Guide
- Ecrire en gras sur whatsapp - Guide
- Comment modifier un pdf - Guide
8 réponses
lucas-84
Messages postés
35
Date d'inscription
dimanche 17 octobre 2010
Statut
Membre
Dernière intervention
7 décembre 2011
6
1 nov. 2011 à 17:03
1 nov. 2011 à 17:03
Je réitère :
Pourrions-nous connaître ce que ce message d'erreur indique ?
;)
Pourrions-nous connaître ce que ce message d'erreur indique ?
;)
lucas-84
Messages postés
35
Date d'inscription
dimanche 17 octobre 2010
Statut
Membre
Dernière intervention
7 décembre 2011
6
1 nov. 2011 à 19:02
1 nov. 2011 à 19:02
Pourrais-tu nous expliquer ce que signifies cette ligne :
Qui est, par ailleurs, sûrement à la cause de l'erreur signalée.
double moyenne(0);
Qui est, par ailleurs, sûrement à la cause de l'erreur signalée.
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
660
Modifié par Pacorabanix le 1/11/2011 à 19:06
Modifié par Pacorabanix le 1/11/2011 à 19:06
je pense plutot que c'est celle-ci :
est une manière d'initialiser la valeur d'une variable, un peu comme un constructeur... j'aime pas trop cette notation personnellmeent, mais je crois que c'est bon ;)
donc par rapport à la ligne dans ton main qui appelle ta fonction moyenne :
tu ne vois pas le lien entre ton appel et le message d'erreur ?
tu appelles ta fonction avec un argument, la variable notes, mais tu déclares ta fonction moyenne comme prenant 2 arguments....
moyenne(notes);
double moyenne(0);
est une manière d'initialiser la valeur d'une variable, un peu comme un constructeur... j'aime pas trop cette notation personnellmeent, mais je crois que c'est bon ;)
donc par rapport à la ligne dans ton main qui appelle ta fonction moyenne :
moyenne(notes);
tu ne vois pas le lien entre ton appel et le message d'erreur ?
tu appelles ta fonction avec un argument, la variable notes, mais tu déclares ta fonction moyenne comme prenant 2 arguments....
lucas-84
Messages postés
35
Date d'inscription
dimanche 17 octobre 2010
Statut
Membre
Dernière intervention
7 décembre 2011
6
30 oct. 2011 à 15:33
30 oct. 2011 à 15:33
Pourrions-nous connaître ce que ce message d'erreur indique ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
D'accord, merci :)
Alors j'ai fait une erreur, le problème vient de moyenne.h à
double moyenne(double tableau[], int tailleTableau)
J'ai cette erreur :
Et je viens de m'apercevoir d'une autre erreur, à moyenne(notes); dans main.cpp.
J'ai cette erreur :
Alors j'ai fait une erreur, le problème vient de moyenne.h à
double moyenne(double tableau[], int tailleTableau)
J'ai cette erreur :
C:\Users\GINA\Projets\Fonction moyenne ( ) Tableaux\moyenne.h|4|error: too few arguments to function 'double moyenne(double*, int)'|
Et je viens de m'apercevoir d'une autre erreur, à moyenne(notes); dans main.cpp.
J'ai cette erreur :
C:\Users\GINA\Projets\Fonction moyenne ( ) Tableaux\main.cpp|16|error: at this point in file|
@lucas-84, cette ligne ne sert qu'a initialiser la variable, j'aurai pû en effet ne mettre que :
@Pacorabanix, je ne vois pas vraiment ou est le problème... comment y remédier alors ?
merci
double moyenne;Et non, ce n'est pas la cause du problème.
@Pacorabanix, je ne vois pas vraiment ou est le problème... comment y remédier alors ?
merci
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
660
Modifié par Pacorabanix le 2/11/2011 à 01:31
Modifié par Pacorabanix le 2/11/2011 à 01:31
tu ne vois pas où est le problème ?
mais c'est bien toi qui a écrit la fonction, non ?
tu as crée la fonction pour qu'elle reçoive deux paramètres entre parenthèses, je n'ai pas regardé le pourquoi du comment, mais c'est toi qui l'a décidé.
et dans main, tu ne respectes pas la manière dont tu as crée ta fonction., car tu l'appelles avec un seul paramètre.
d'où les deux erreurs, pour t'indiquer que quelqque chose n'est pas cohérent pour le compilateur.
la solution :
changer la définition de ta fonction pour qu'elle ne reçoive qu'un paramètre, ou changer l'appel de ta fonction en lui donnant les 2 paramètres qu'elle a besoin.
mais c'est bien toi qui a écrit la fonction, non ?
tu as crée la fonction pour qu'elle reçoive deux paramètres entre parenthèses, je n'ai pas regardé le pourquoi du comment, mais c'est toi qui l'a décidé.
et dans main, tu ne respectes pas la manière dont tu as crée ta fonction., car tu l'appelles avec un seul paramètre.
d'où les deux erreurs, pour t'indiquer que quelqque chose n'est pas cohérent pour le compilateur.
la solution :
changer la définition de ta fonction pour qu'elle ne reçoive qu'un paramètre, ou changer l'appel de ta fonction en lui donnant les 2 paramètres qu'elle a besoin.
J'apprends sur le site du zero, j'ai repris une fonction du cours et je l'ai un petit peu modifié, rien de plus.
Alors j'ai fait ce que tu m'as dit :
Mais ce code, une fois exécuté, me donne un 1...
Merci de votre aide.
Alors j'ai fait ce que tu m'as dit :
#include <iostream> #include "moyenne.h" using namespace std; int main() { int const nombreNotes(5); double notes[nombreNotes]; notes [0] = 12.5; notes [1] = 19.5; notes [2] = 6.5; notes [3] = 12; notes [4] = 14.5; moyenne(notes, nombreNotes); cout << moyenne << endl; return 0; }
Mais ce code, une fois exécuté, me donne un 1...
Merci de votre aide.
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
660
Modifié par Pacorabanix le 5/11/2011 à 19:16
Modifié par Pacorabanix le 5/11/2011 à 19:16
ok !
alors là voilà le souci :
ta fonction va renvoyer un résultat. Ce résultat, il faut le stocker ou alors l'afficher directement :
ou alors directement si tu veux :
cout << moyenne(notes, nombreNotes) << endl;
là ce "moyenne" est bizarre, c'est comme une variable, mai en fait c'est le nom d'une fonction, et sans paramètre c'est un peu spécial, et en tout cas faux.
alors là voilà le souci :
ta fonction va renvoyer un résultat. Ce résultat, il faut le stocker ou alors l'afficher directement :
double resultat; resultat = moyenne(notes, noombreNotes); cout << resultat << endl;
ou alors directement si tu veux :
cout << moyenne(notes, nombreNotes) << endl;
là ce "moyenne" est bizarre, c'est comme une variable, mai en fait c'est le nom d'une fonction, et sans paramètre c'est un peu spécial, et en tout cas faux.
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
660
5 nov. 2011 à 19:17
5 nov. 2011 à 19:17
PS : ensuite, s'il y a toujours un souci, on regardera la fonction moyenne elle-même
Ho lala, bah oui logique :
Le manque de pratique, m'a permis d'oublier ces choses si faciles..
Ton deuxième code ne marche pas par contre, il me donne un truc du style :
4.539e + 261
Merci à toi en tout cas :)
double resultat; resultat = moyenne(notes, nombreNotes); cout << resultat << endl;
Le manque de pratique, m'a permis d'oublier ces choses si faciles..
Ton deuxième code ne marche pas par contre, il me donne un truc du style :
4.539e + 261
Merci à toi en tout cas :)
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
660
8 nov. 2011 à 15:12
8 nov. 2011 à 15:12
le fait que le deuxième code ne marche pas me semble très étrange !
ça devrait donner la même chose (le même affichage) que les trois lignes.
bref, en tout cas si c'est résolu content pour toi !
++
ça devrait donner la même chose (le même affichage) que les trois lignes.
bref, en tout cas si c'est résolu content pour toi !
++