Langage c

Fermé
Adil le vrai - 9 juil. 2004 à 13:34
 Adil - 12 juil. 2004 à 20:53
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);
}
A voir également:

7 réponses

Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
9 juil. 2004 à 14:41
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
ADIL LE VRAIS
9 juil. 2004 à 21:57
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
Merci,t'as pas oublier le langage c,t'es fort
0
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
salut,
je pense que ton probleme est seulement la declaration de i par :
main()
{
int i ;
i=0;

............bon courage ....................
0
Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
12 juil. 2004 à 17:06
j aimerai bien que tu m explique la difference entre
int i= 0;
et
int i;
i=0;
0
Adil > Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009
12 juil. 2004 à 20:53
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

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

Posez votre question
pi€rre Messages postés 76 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 13 octobre 2005
12 juil. 2004 à 08:55
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
Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
12 juil. 2004 à 09:59
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
deutschmeister
12 juil. 2004 à 15:52
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