Erreur débutant fonction
okokko
Messages postés
551
Date d'inscription
Statut
Membre
Dernière intervention
-
okokko Messages postés 551 Date d'inscription Statut Membre Dernière intervention -
okokko Messages postés 551 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je commence juste a apprendre le language C,sur
openclassroom et je bloque sur ça:
L 'erreur est:
||=== Build: Debug in Plusieurs conditions à la fois (compiler: GNU GCC Compiler) ===|
E:\Projet CodeBlocks C\Plusieurs conditions à la fois\main.c||In function 'main':|
E:\Projet CodeBlocks C\Plusieurs conditions à la fois\main.c|6|error: 'argent' undeclared (first use in this function)|
E:\Projet CodeBlocks C\Plusieurs conditions à la fois\main.c|6|note: each undeclared identifier is reported only once for each function it appears in|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
J'ai bien compris que la fonction "argent" n'est pas déclarer,et
ma question est:Comment la déclarer?
Si quelqu'un peut m'aider,merci d'avance car je bloque.
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
Je commence juste a apprendre le language C,sur
openclassroom et je bloque sur ça:
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int age = 30 && argent > 1000; if (age > 30 && argent > 1000) { printf("Bienvenue chez PicsouBanque \n"); } else { printf("Hors de ma vue,miserable \n"); } return 0; }
L 'erreur est:
||=== Build: Debug in Plusieurs conditions à la fois (compiler: GNU GCC Compiler) ===|
E:\Projet CodeBlocks C\Plusieurs conditions à la fois\main.c||In function 'main':|
E:\Projet CodeBlocks C\Plusieurs conditions à la fois\main.c|6|error: 'argent' undeclared (first use in this function)|
E:\Projet CodeBlocks C\Plusieurs conditions à la fois\main.c|6|note: each undeclared identifier is reported only once for each function it appears in|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
J'ai bien compris que la fonction "argent" n'est pas déclarer,et
ma question est:Comment la déclarer?
Si quelqu'un peut m'aider,merci d'avance car je bloque.
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
A voir également:
- Erreur débutant fonction
- Fonction si et - Guide
- Erreur 0x80070643 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
2 réponses
Bonjour.
argent n'est pas une fonction dans ton code, ni même une variable en fait.
Je ne vois pas trop comment tu pourrais utiliser argent en tant que fonction...
Si tu veux la déclarer en tant que variable, fais comme ça :
argent n'est pas une fonction dans ton code, ni même une variable en fait.
Je ne vois pas trop comment tu pourrais utiliser argent en tant que fonction...
Si tu veux la déclarer en tant que variable, fais comme ça :
int age = 30, argent = 1001;(pour déclarer une variable, pas le droit de mettre > ou <, juste un signe = entre le nom et la valeur)
Bonjour matmat42 et merci,
en fait,c'est pour utiliser la condition "ou" ( || ),
ici:https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/14612-les-conditions
au paragraphe: "plusieurs conditions à la fois "
donc sur tes conseils j'ai fais ça:
et ça marche.La console me renvoi " Bienvenue chez PicsouBanque ! "
(Ils sont marrant a OpenClassRoom)
Donc dans se code j'utilise bien le "ou" ( || ) ?
Encore merci,ça vous semble peut-être évident,mais pour moi
qui débute,j'ai bloqué et je n'es personne a qui m'adresser directement.
Je ne suis que " premium " a OpenClassRoom.
Je continu donc mon apprentissage.
PS:j'aurai surement encore besoin de vos services (si possible et dispo).
en fait,c'est pour utiliser la condition "ou" ( || ),
ici:https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/14612-les-conditions
au paragraphe: "plusieurs conditions à la fois "
donc sur tes conseils j'ai fais ça:
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int age = 31, argent = 1001; if (age > 30 || argent > 1000) { printf("Bienvenue chez PicsouBanque !"); } else { printf("Hors de ma vue,miserable !"); } return 0; }
et ça marche.La console me renvoi " Bienvenue chez PicsouBanque ! "
(Ils sont marrant a OpenClassRoom)
Donc dans se code j'utilise bien le "ou" ( || ) ?
Encore merci,ça vous semble peut-être évident,mais pour moi
qui débute,j'ai bloqué et je n'es personne a qui m'adresser directement.
Je ne suis que " premium " a OpenClassRoom.
Je continu donc mon apprentissage.
PS:j'aurai surement encore besoin de vos services (si possible et dispo).
Oui le ou ( || ) est bien effectuer.
Selon tes valeur d'argent et age, la condition if effectue les teste suivant :
-31 est il supérieur à 30? ce qui retourne vrais
-1001 est il supérieur à 1000? ce qui retourne vrais
Puis regarde si ce qui résulte de la fonction logique "ou" en faisant vrais ou vrais. Ceci résulte à vrais d'où l'entré dans la première condition et l'affichage de "Bienvenu chez picsoubanque"
Si maintenant tu change la valeur d'argent en 100 et laisse l'age à 31. Tu aura vrais sur le teste de l'age (31>30 est correcte) mais faux sur le teste de l'argent (100>1000 est incorrecte). La fonction logique est donc vrais ou faux, ce qui résulte à vrais, ça rentrera encore dans la première condition.
Les retour de la fonction logique "ou" sont les suivant:
faux || faux => faux
vrais || faux => vrais
faux || vrais => vrais
vrais || vrais => vrais
ceux de la fonction logique "et" sont les suivant:
faux && faux => faux
vrais && faux => faux
faux && vrais => faux
vrais && vrais => vrais
Essaye d'autre valeur pour age et argent afin de voire avec ton code les différent moment ou rentre dans la condition if et affiche "Bienvenu chez picsoubank" et les moment ou ça rentre dans le else et affiche "hors de ma vue"
Selon tes valeur d'argent et age, la condition if effectue les teste suivant :
-31 est il supérieur à 30? ce qui retourne vrais
-1001 est il supérieur à 1000? ce qui retourne vrais
Puis regarde si ce qui résulte de la fonction logique "ou" en faisant vrais ou vrais. Ceci résulte à vrais d'où l'entré dans la première condition et l'affichage de "Bienvenu chez picsoubanque"
Si maintenant tu change la valeur d'argent en 100 et laisse l'age à 31. Tu aura vrais sur le teste de l'age (31>30 est correcte) mais faux sur le teste de l'argent (100>1000 est incorrecte). La fonction logique est donc vrais ou faux, ce qui résulte à vrais, ça rentrera encore dans la première condition.
Les retour de la fonction logique "ou" sont les suivant:
faux || faux => faux
vrais || faux => vrais
faux || vrais => vrais
vrais || vrais => vrais
ceux de la fonction logique "et" sont les suivant:
faux && faux => faux
vrais && faux => faux
faux && vrais => faux
vrais && vrais => vrais
Essaye d'autre valeur pour age et argent afin de voire avec ton code les différent moment ou rentre dans la condition if et affiche "Bienvenu chez picsoubank" et les moment ou ça rentre dans le else et affiche "hors de ma vue"
Attention, tu confonds avec le | (ou binaire) / & (et binaire).
Le || (ou logique) / && (et binaire) ne vérifie pas systématiquement les 2 conditions.
Par exemple :
if (age > 30 || argent > 1000)
age > 30 est vrai. Vu qu'il s'agit d'un ou logique, argent > 1000 ne sera même pas exécuté.
Ici ça ne change rien, mais cela a son importance s'il y a une affectation dans la seconde condition.
Cdlt,
Le || (ou logique) / && (et binaire) ne vérifie pas systématiquement les 2 conditions.
Par exemple :
if (age > 30 || argent > 1000)
age > 30 est vrai. Vu qu'il s'agit d'un ou logique, argent > 1000 ne sera même pas exécuté.
Ici ça ne change rien, mais cela a son importance s'il y a une affectation dans la seconde condition.
Cdlt,