Programme C débutant

Fermé
jft - 21 oct. 2009 à 23:35
Pilow Messages postés 400 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 23 décembre 2009 - 22 oct. 2009 à 15:00
Bonjour,
je commence tout juste et le c et je chercher à savoir si un entier est réel ou pas et je n'y arrive pas. si vous pouviez me rectifier ce serait gentil^^.
Voila donc le problème, quand je met 5 après avoir lancé le programme, il me met 5 est pair (lol)

#include <math.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
//Déclaration des ressources
int a ;
//Saisie du nombre
printf("Entrer un nombre entier \n") ;
scanf("%d",&a) ;
if(a%2)==0)
{
printf("%d est un nombre pair",a);
}
else
{
printf("%d est un nombre impair",a);
}
}
system("PAUSE");
return 0 ;
}

4 réponses

rom56 Messages postés 300 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 25 mai 2012 88
21 oct. 2009 à 23:45
Bonjour,

A part une erreur de parenthése, ton code m'a l'air correct, tu n'est pas obligé de mettre ==0, tu peux juste indiquer if(a%2) dans ce cas particulier (modulo 2) la valeur renvoyer est soit 0 (=false en language c) ou 1 (= true en language c)

ça revient à :
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
//Déclaration des ressources
int a ;
//Saisie du nombre
printf("Entrer un nombre entier \n") ;
scanf("%d",&a) ;
// permet de vérifier le résultat avant de rentrer dans le test
printf("Le modulo de %d %2 est :",a,(a%2));

if(a%2)
{
printf("%d est un nombre pair",a);
}
else
{
printf("%d est un nombre impair",a);
}
}
system("PAUSE");
return 0 ;
}


tiens moi au courant!
0
Tout à fait d'accord, mais il y a une accolade en trop et le '#include <math.h> qui ne sert à rien.
Bonne continuation.
0
Pilow Messages postés 400 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 23 décembre 2009 71
22 oct. 2009 à 09:12
Ca serait pas
if(a%2)
{
printf("%d est un nombre impair",a);
}
else
{
printf("%d est un nombre pair",a); 


? O_o

If (a%2) revient à a%2 != 0 non ? If (a%2) existe quoi
si le résultat d'un %2 est différent de 0 c'est 1 donc impair plutôt

(Espere ne pas dire n'importe quoi)
0
rom56 Messages postés 300 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 25 mai 2012 88
22 oct. 2009 à 14:34
Bien sur que si, tu as parfaitement raison, je me suis trompé :)
0
Pilow Messages postés 400 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 23 décembre 2009 71
22 oct. 2009 à 15:00
J'étais en plein doute, ça me rassure :P
0