Langage c

Adil le vrai -  
 Adil -
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. Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur 216
     
    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. ADIL LE VRAIS
       
      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. Adil
     
    Merci,t'as pas oublier le langage c,t'es fort
    0
  3. mohamed
     
    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
  4. reda
     
    salut,
    je pense que ton probleme est seulement la declaration de i par :
    main()
    {
    int i ;
    i=0;

    ............bon courage ....................
    0
    1. Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur 216
       
      j aimerai bien que tu m explique la difference entre
      int i= 0;
      et
      int i;
      i=0;
      0
      1. Adil > Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur
         
        Toi 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pi€rre Messages postés 76 Statut Membre
     
    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
  7. Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur 216
     
    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
  8. deutschmeister
     
    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