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   -
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.
A voir également:

7 réponses

[o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   28
 
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.
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut
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 ;)
0
Sharon71 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
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
0
Sharon71 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour l'info.
J'ai donc téléchargé dev-cpp. Pourrais-tu me dire comment il faut faire ensuite ? Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
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
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
0
Sharon71 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup pour les infos.
0