probleme en c

probleme en c - C - Programmation

Marsh Posté le 21-02-2009 à 11:17:49    

bonjour
 je suis etudiant en l1 info et je dois realiser un programme dans lequel on rentre 3 entier  et le programme dois nous dire si les regles suivante sont respectées :  
1. le premier entier est multiple de 2.
2. les trois entiers sont multiples de 3.
3. au moins un des trois entiers est multiple de5.
4. aucun des trois entiers est multiple de 7.
5. exactement un des trois entiers est multiple de 9.
6. les trois entiers sont superieurs ou egaux a 11 et le premier entier est multiple du deuxieme
 
voila le programme que j'ai ecrit :
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. int main(void)
  5. {
  6.     int a, b, c;
  7.     printf("Entrez trois nombres entiers\n" );
  8.     scanf("%l%l%l", &a, &b, &c);
  9.     if(a%2=0)
  10.     {
  11.         printf("Le premier entier est un multiple de 2\n" );
  12.     }
  13.     if(0=a%3 && 0=b%3 && 0=c%3)
  14.     {
  15.         printf("Les trois entiers sont multiples de 3\n" );
  16.     }
  17.     if(0=a%5 || 0=b%5 || 0=c%5)
  18.     {
  19.         printf("Un des trois entiers au moins est multiple de 5\n" );
  20.     }
  21.     if(0!=a%7 && 0!=b%7 && 0!=c%7)
  22.     {
  23.         printf("Aucun des trois entier est multiple de 7\n" );
  24.     }
  25.     if((0=a%9 && 0!=b%9 && 0!=c%9) || (0=b%9 && 0!=a%9 && 0!=c%9) || (0=c%9 && 0!=b%9 && 0!=a%9))
  26.     {
  27.         printf("Exactement un des trois entiers est multiple de 9\n" );
  28.     }
  29.     if(a>=11 && b>=11 && c>=11 && 0!=a%b)
  30.     {
  31.         printf("Les trois entiers sont superieurs ou egaux a 11 et le premier est multiple du deuxieme\n" );
  32.     }
  33.     return 0;
  34. }


 
j'utilise code block 8.02 et il me dit qu'il y a le pblm suivant :  
error: invalid lvalue in assignment
aux lignes 10 14 18 et 3 fois 26
 
d'ou vient mon erreur c'est la premiere fois que la boucle if me pose pblm ...
 
merci pour vos reponse !!

Reply

Marsh Posté le 21-02-2009 à 11:17:49   

Reply

Marsh Posté le 21-02-2009 à 11:21:17    

yannou63360 a écrit :

Code :
  1. a%2=0
  2. 0=a%3
  3. // etc...




Le problème c'est que tu utilises l'opérateur d'affectation (=) au lieu d'utiliser l'opérateur de comparaison (==)

Reply

Marsh Posté le 21-02-2009 à 13:38:05    

merci  
c'est vrai que le programme se lance maintenant mais j n'obtiens pas les resultats recherchés ... tusasi d'ou ça peut venir ?

Reply

Marsh Posté le 21-02-2009 à 13:52:39    

pour ceux que ça pourrai interressez :  
 
il fait mettre unsigned long au lieu de int  
et remplacer %l%l%l par %ld%ld%ld
 
merci pour votre aide  
a+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed