Programme C sur la parité avec une fonction
Résolu
Sharon71
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
Sharon71 Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Sharon71 Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je dois développer un programme C permettant de déterminer la parité d'un nombre. Voici ce que j'ai fait :
# include <stdio.h>
main () {
int x, y ;
char resultat ;
x=11 ;
y=x/2 ;
if (x==2*y) resultat = 'vrai' ;
else resultat = 'faux' ;
printf("Le chiffre x=%i (pour lequel y=%i) donne resultat %c, x, y, resultat) ;
}
On nous demande ensuite de modifier ce programme pour que le résultat soit obtenu par appel à une fonction que l'on nommera pair. Elle acceptera un argument et retournera une solution de type caractère.
Nous n'avons pas encore vu les fonctions et les arguments en cours, alors est-ce que quelqu'un pourrait m'aider ? J'ai essayé de comprendre avec un livre, mais j'ai un peu de mal, parce que je n'ai trouvé aucun exemple qui retourne une solution de type caractère. Est-ce que je dois utiliser la même chose que précédemment dans la définition de la fonction ? Et je ne vois pas ce que je dois alors mettre dans le programme.
Merci beaucoup d'avance pour vos réponses.
Je dois développer un programme C permettant de déterminer la parité d'un nombre. Voici ce que j'ai fait :
# include <stdio.h>
main () {
int x, y ;
char resultat ;
x=11 ;
y=x/2 ;
if (x==2*y) resultat = 'vrai' ;
else resultat = 'faux' ;
printf("Le chiffre x=%i (pour lequel y=%i) donne resultat %c, x, y, resultat) ;
}
On nous demande ensuite de modifier ce programme pour que le résultat soit obtenu par appel à une fonction que l'on nommera pair. Elle acceptera un argument et retournera une solution de type caractère.
Nous n'avons pas encore vu les fonctions et les arguments en cours, alors est-ce que quelqu'un pourrait m'aider ? J'ai essayé de comprendre avec un livre, mais j'ai un peu de mal, parce que je n'ai trouvé aucun exemple qui retourne une solution de type caractère. Est-ce que je dois utiliser la même chose que précédemment dans la définition de la fonction ? Et je ne vois pas ce que je dois alors mettre dans le programme.
Merci beaucoup d'avance pour vos réponses.
A voir également:
- Programme C sur la parité avec une fonction
- Fonction si et - Guide
- Programme demarrage windows - Guide
- Forcer la fermeture d'un programme - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
7 réponses
Bonjour,
Premièrement, ton programme ne fonctionnera pas.
-Tu ne peux pas mettre le mot 'vrai' dans un char, un char c'est un caractère.
-Ensuite, lorsque tu divise y par deux, n'oublie pas que y est un entier, donc 11/2 = 5, et pas 5,5.
Pour savoir si un nombre est pair ou pas, tu peux faire plus simple:
L'opérateur % renvoie le reste de la division entière (c'est modulo).
par exemple:
10%9 = 1 (1x9 + 1 = 10)
100%8 = 4 (12x8 + 4 = 96 + 4 = 100)
Donc pour savoir si un nombre est pair ou non, il suffit de faire un %2. Si le résultat est 1, c'est qu'il est impaire, si c'est 0, c'est qu'il est pair.
exemple: 5%2 = 1 (2x2 +1), 6%2 = 0 (3x2 + 0).
Tu pourras trouver ton bonheur sur ce site:
https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c
tu pourra comprendre comment marche les fonctions, et combler tes lacunes sur les bases.
Bonne continuation.
Premièrement, ton programme ne fonctionnera pas.
-Tu ne peux pas mettre le mot 'vrai' dans un char, un char c'est un caractère.
-Ensuite, lorsque tu divise y par deux, n'oublie pas que y est un entier, donc 11/2 = 5, et pas 5,5.
Pour savoir si un nombre est pair ou pas, tu peux faire plus simple:
L'opérateur % renvoie le reste de la division entière (c'est modulo).
par exemple:
10%9 = 1 (1x9 + 1 = 10)
100%8 = 4 (12x8 + 4 = 96 + 4 = 100)
Donc pour savoir si un nombre est pair ou non, il suffit de faire un %2. Si le résultat est 1, c'est qu'il est impaire, si c'est 0, c'est qu'il est pair.
exemple: 5%2 = 1 (2x2 +1), 6%2 = 0 (3x2 + 0).
Tu pourras trouver ton bonheur sur ce site:
https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c
tu pourra comprendre comment marche les fonctions, et combler tes lacunes sur les bases.
Bonne continuation.
Merci beaucoup pour vos réponses.
C'est vrai que c'est plus pratique avec le modulo, mais je ne connaissais pas, comme je débute en langage C.
En fait, nous n'avons pas le même prof en cours et en TP et dans les TP, il y a plus de la moitié que nous n'avons pas encore vu en cours et comme les TP sont notés, cela me stresse beaucoup... J'essaye de comprendre avec des livres, mais c'est pas toujours facile et j'aimerai bien aussi avoir la possibilité de tester mes programmes avant les TP.
C'est vrai que c'est plus pratique avec le modulo, mais je ne connaissais pas, comme je débute en langage C.
En fait, nous n'avons pas le même prof en cours et en TP et dans les TP, il y a plus de la moitié que nous n'avons pas encore vu en cours et comme les TP sont notés, cela me stresse beaucoup... J'essaye de comprendre avec des livres, mais c'est pas toujours facile et j'aimerai bien aussi avoir la possibilité de tester mes programmes avant les TP.
Il suffit que tu installes un environnement de développement pour t'entrainer, par exemple dev-cpp ou code::blocks si tu es sous windows, ou carrément un linux.
Bonne chance
Bonne chance
Merci pour l'info.
J'ai donc téléchargé dev-cpp. Pourrais-tu me dire comment il faut faire ensuite ? Merci.
J'ai donc téléchargé dev-cpp. Pourrais-tu me dire comment il faut faire ensuite ? Merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il faut.. lire la doc (voir site de devcpp) :-)
http://www.bloodshed.net/dev/doc/index.html
Je n'ai jamais utilisé dev cpp, je programme surtout sous linux avec des outils basiques (vim, make, gcc...).
Bonne chance
http://www.bloodshed.net/dev/doc/index.html
Je n'ai jamais utilisé dev cpp, je programme surtout sous linux avec des outils basiques (vim, make, gcc...).
Bonne chance
Salut,
Tu peux aussi regarder ici https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/13522-ayez-les-bons-outils#ss_part_2
Tu peux aussi regarder ici https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/13522-ayez-les-bons-outils#ss_part_2
Ensuite, lorsque tu divise y par deux, n'oublie pas que y est un entier, donc 11/2 = 5, et pas 5,5.
Justement, c'était je pense le principe de son algorithme. Seul un nombre pair passera sa condition.
Après c'est vrai, que le modulo comme tu as dit, c'est beaucoup mieux ;)