Programme en C...

sbix Messages postés 16 Statut Membre -  
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
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
A voir également:

13 réponses

mype Messages postés 2449 Statut Membre 437
 
c'est quoi le message d'erreur du compilateur ?
0
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
sbix Messages postés 16 Statut Membre 10
 
sa ne marche pas,jy avait deja penser a cette solution MR.lami20j ,mais sa ne marche pas.... :s
0
mype Messages postés 2449 Statut Membre 437
 
le programme a l'air correct donc essaye avec un autre compilateur
0

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

Posez votre question
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
sbix Messages postés 16 Statut Membre 10
 
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
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
affiche les messages que tu as à la compilation
0
sbix Messages postés 16 Statut Membre 10
 
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
sbix Messages postés 16 Statut Membre 10
 
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
SmallFitz Messages postés 358 Date d'inscription   Statut Membre Dernière intervention   189
 
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
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
sbix Messages postés 16 Statut Membre 10
 
le problem se pose quand je compiole et je donne a "a" la valeur 0 !
0
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
ben, chez moi ça marche
0