Langage c

Salut
s'il vous plait j'ai un probleme mon ordinateur
il se plante apres que j'ai modifier un programme
en lui ajoutant une boucle
il se plante automatiquement de que je initialse i =0;
Merci dans l'attente d'un e suite favorbale

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

main()

{float x,y ;
int i=0; (*il se plante ici*)
while (x!=2&&i<=10);
{
printf ("saisir x: ");
scanf ("%f",&x);
y=log(x);
printf("log(x)=%f\n",y);
i++;}
}
source :
#include <stdio.h>
#include <conio.h>
#include <math.h>

void main()
{
float x,y ;
{
printf ("saisir x: ");
scanf ("%f",&x);
y=log(x);
printf("log(x)=%f\n",y);
}

7 réponses

  1. Contributeur
    lol!
    ton probleme vient pas de i mais de x...
    je t'aide..
    tu declare x
    et ensuite tu lui dit tant que x ne vaut pas 2 et i inferieur ou egal a 10 tu fera ce qu il y a en dessous...
    la question que doit sans doute se poser l ordinateur a ce moment c'est combien vaut x la...
    et je pense que il doit toujours se poser la question...
    0
    1. Salut,canard
      maintanant stp tu peut essayer ce programme chez toi afin de le decodé ,car x est dejat declare :regarde c'est afficher float x; [bloc declaration] ,repond moi stp désque tu peut
      0
  2. Merci,t'as pas oublier le langage c,t'es fort
    0
    1. SALUT chère frère,
      comme je vous ai dit je n'ai pas étudié C++ mais je cherche pour vous sur le net et j'ai trouver ce site.
      http://www-ipst.u-strasbg.fr/pat/program/tpc.htm
      aussi j'ai trouver un ptit livre qui parle de c++ et j'ai vu qu'il y a 2 boucle (while et la 2 ème DO ...<instructions>... WHILE(conditios)
      et je crois que c'est elle qu'il faut user dans votre Pg ou bien il y a un pblème avec la condition x!=2 car x est un réel(float) et 2 est un entier( peut être).
      VOTRE FRERE.
      BON COURAGE.
      MERCI.
      0
      1. salut,
        je pense que ton probleme est seulement la declaration de i par :
        main()
        {
        int i ;
        i=0;

        ............bon courage ....................
        0
        1. Contributeur
          j aimerai bien que tu m explique la difference entre
          int i= 0;
          et
          int i;
          i=0;
          0
        2. @Canard007Toi t'expliquez ça,mon chere copain, bien sur
          Le deuxième c'est quand en commence a tri pocher
          et la première c'est pour faire gagner du temp. est de la place
          voilà voilou la meme chose

          Merci

          Lunix sex and expensive
          0
      2. Ton probllème vientdu ; ici: (x!=2&&i<=10) ; ce ; veut dire que le while est terminé

        La vie est belle et c'est tant mieux
        0
        1. Contributeur
          probleme numero ( en plus de la non initialisation) qui explique pourquoi ton pc plante....

          essaye de faire :
          while (x!=2&&i<=10)
          { 
          

          et non pas
          while (x!=2&&i<=10) ; 
          { 
          


          while(condition); ca boucle à l infini donc le pc plante... donc attention aux ( ; ) :p
          bon courage
          0
          1. Tout a fait il y a deux erreurs dans ton programme

            - Tu n'initialises pas une variable x, qui est dans la condition de ta boucle. Donc tu ne peux pas rentrer dans ta boucle. logique

            - De plus il faut pas mettre de ; aprés la condition de boucle while, sinon tu tournes dans le vide, sauf cas trés rare: boucle infinie du type:
            while(1);

            Quand a l'histoire de x définit comme un float alors qu'il est entier dans la condition de la boucle cela ne pose aucun probleme.

            Sur cet exemple la boucle do{}while(), n'est pas nécessaire

            Par contre je pense que tu devrais retiré x de ta condition
            mais rajouté dans le corps de la boucle un break qui te fait sortir de l boucle si x =2, et ceci avant le calcul.
            0