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

  • Votes
  • Date
  • Date décroissante
  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.
    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
      1. 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
        1. salut,
          je pense que ton probleme est seulement la declaration de i par :
          main()
          {
          int i ;
          i=0;

          ............bon courage ....................
          1. Contributeur
            j aimerai bien que tu m explique la difference entre
            int i= 0;
            et
            int i;
            i=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
        2. 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.
          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...
            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