Programme en C...

Bonjour,j'ai un problem avec la compilation d'une source assez petite qui fai un tou simple calcul...voilà la source :
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
long a, b, x;
printf("a : ");
scanf("%ld", &a);
printf("b : ");
scanf("%ld", &b);
b / a = x;
printf ("%ld / %ld = %ld\n", b, a, x);

system("PAUSE");
return 0;
}
j'arrive pas a le faire marcher(c moi qui la ecrit) et oui je sai que je suis debutant dans le language C . merci de votre aide
Configuration: Windows XP
Firefox 2.0.0.8

13 réponses

  1. c'est quoi le message d'erreur du compilateur ?
    0
    1. Modérateur
      Salut,
      b / a = x;
      la partie gauche doit être une lvalue.
      c'est toi c'est une expression
      #include <stdio.h>
      #include <stdlib.h>
      
      int main(int argc, char *argv[])
      {
              long a, b, x;
              printf("a : ");
              scanf("%ld", &a);
              printf("b : ");
              scanf("%ld", &b);
              x = b / a;
              printf ("%ld / %ld = %ld\n", b, a, x);
      
              system("PAUSE");
              return 0;
      }
      
      0
      1. sa ne marche pas,jy avait deja penser a cette solution MR.lami20j ,mais sa ne marche pas.... :s
        0
        1. le programme a l'air correct donc essaye avec un autre compilateur
          0
          1. Modérateur
            sa ne marche pas,jy avait deja penser a cette solution MR.lami20j ,mais sa ne marche pas.... :s
            ben, chez moi ça marche (j'ai commenté system("PAUSE") puisque je suis sous GNU/Linux
            lami20j@debian:~/trash$ cat ccm.c
            #include <stdio.h>
            #include <stdlib.h>
            
            int main(int argc, char *argv[])
            {
                    long a, b, x;
                    printf("a : ");
                    scanf("%ld", &a);
                    printf("b : ");
                    scanf("%ld", &b);
                    x = b / a;
                    printf ("%ld / %ld = %ld\n", b, a, x);
            
            //      system("PAUSE");
                    return 0;
            }

            La compilation et le résultat
            lami20j@debian:~/trash$ gcc ccm.c
            lami20j@debian:~/trash$ ./a.out
            a : 4
            b : 80
            80 / 4 = 20
            
            0
            1. ta source marche parfaitement(j'ai enlever le commentaire de system("pause") psk je suis sous winmerde) je n'arrive pas a trouver la diference entre ma source et la tienne,pourtant la tienne marche contrairement a la mienne... tu peut m'aider a comprendre stp ?
              0
              1. Modérateur
                affiche les messages que tu as à la compilation
                0
                1. woups,je m'exuse sa vient juste de marcher, lol je sai pas pk,mais ma source vient de marcher aussi sans que je la modifie...merci de ton aide precieuse lami20j je te serai reconnaissant si tu me file ton adresse msn, ou que si tu m'ajoute => stone-_-cold@hotmail.fr ,je veut programmer un logiciel un peut compliquer pour un debutant donc j'aurai besoin de l'aide ;) s'il te plait =)
                  0
                  1. j'ai encore un problem :s :

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

                    int main(int argc, char *argv[])
                    {
                    long a, b, x;

                    printf(" :/*/*/*/: ax=b :/*/*/*/:\n\n\n");
                    while (1)
                    {
                    printf("a : ");
                    scanf("%ld", &a);
                    printf("b : ");
                    scanf("%ld", &b);
                    if (a != 0)
                    {
                    x = b /a;
                    printf ("%ld = %ld / %ld\n", x, b, a);
                    printf("S = %ld \n\n\n\n\n",x);
                    }
                    else (a == 0)
                    {
                    if (b == 0 )
                    {
                    printf("0.x=0\nS = R\n\n");
                    }
                    else
                    {
                    printf("X = 0\nS = equation impossible");
                    }
                    }
                    }
                    system("PAUSE");
                    return 0;
                    }

                    pouriez vous m'aider SVP ?
                    0
                    1. Salut !
                      C'est quoi le message d'erreur ?
                      C'est toujours pareil, a chaque fois que tu poses ton code et qu'il y a un souci, dis où est le problème.

                      EDIT :
                      Ce n'est pas else qu'il faut mettre. Ou alors tu mets rien derrière ce qui serait plus logique.
                      Ta boucle est infinie.
                      J'ai compilé, lu les messages d'erreurs.
                      En faisant comme ça tu résouts ton problème en 2 sec.
                      C'est que tu as essayé de faire ?
                      Dis ce que tu piges pas.
                      0
                      1. Modérateur
                        Salut,

                        il faut penser à mettre une condition d'arrêt pour ta boucle while ;-)
                        Essaie ça
                        #include <stdio.h>
                        #include <stdlib.h>
                        
                        int
                        main (int argc, char *argv[])
                        {
                          long a, b, x;
                        
                          printf (" :/*/*/*/: ax=b :/*/*/*/:\n\n\n");
                          while (1){
                            printf ("a : ");
                            scanf ("%ld", &a);
                            printf ("b : ");
                            scanf ("%ld", &b);
                            if (a != 0){
                              x = b / a;
                              printf ("%ld = %ld / %ld\n", x, b, a);
                              printf ("S = %ld \n\n\n\n\n", x);
                            } else
                                if (b == 0){
                                  printf ("0.x=0\nS = R\n\n___RECOMMENCER___\n");
                                }else {
                                  printf ("X = 0\n!*****S = equation impossible*****!\n");
                                  return -1;
                                }
                          }
                          system ("PAUSE");
                          return 0;
                        }
                        
                        0
                        1. le problem se pose quand je compiole et je donne a "a" la valeur 0 !
                          0
                          1. Modérateur
                            ben, chez moi ça marche
                            0