A voir également:
- Pk ce programme ne fonctionne pas ?langage C
- Langage ascii - Guide
- Programme demarrage windows 10 - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Langage binaire - Guide
- Désinstaller programme windows 10 - Guide
4 réponses
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
30 sept. 2010 à 22:44
30 sept. 2010 à 22:44
Bonsoir,
Je pense qu'il s'agit du return :
@+
Je pense qu'il s'agit du return :
return 0;
@+
bonsoir Gord...non j'ai essayé ce n'est pas ça
Quand je lance ce programme j'ai un message :
"un programme a fait que le programme a cessé..."
Ca ma jamais fait ça tu peux tester chez toi si ça marche ? car jtrouve ça louche j'ai pas fait de grosses erreurs il me semble
Quand je lance ce programme j'ai un message :
"un programme a fait que le programme a cessé..."
Ca ma jamais fait ça tu peux tester chez toi si ça marche ? car jtrouve ça louche j'ai pas fait de grosses erreurs il me semble
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
30 sept. 2010 à 23:27
30 sept. 2010 à 23:27
Plusieurs fautes dans votre code :
Pour info, j'ai casté (int) la condition x et varret car il ne faut pas comparer des nombres flottants de cette façon à cause de l'architecture interne du PC. Il faut voir si la différence est inférieur à 10e-5 par exemple. Pour simplifier j'ai donc casté.
#include <stdio.h> #include <stdlib.h> int main(void) { double s,x,varret; s=0; varret=10; while((int)x!=(int)varret){ printf("Rentrez une valeur a additionner"); scanf("%lf",&x); s=s+x; } printf("Le résultat est : %f\n",s); system("PAUSE"); return 0; }
Pour info, j'ai casté (int) la condition x et varret car il ne faut pas comparer des nombres flottants de cette façon à cause de l'architecture interne du PC. Il faut voir si la différence est inférieur à 10e-5 par exemple. Pour simplifier j'ai donc casté.
Slt fiddy c'est encore moi depuis la dernière fois et l'histoire des KWH loool
Là encore j'ai besoin de toi...mais j'ai pas encore étudié le stdlib.h le systeme PAUSE et le (int) avant x et varret
donc jme dit peut-etre que ya un autre moyen plus simpliste pour le faire
Ou alors l'exo est fait exprés pour qu'on sache de nous même le faire looool
Là encore j'ai besoin de toi...mais j'ai pas encore étudié le stdlib.h le systeme PAUSE et le (int) avant x et varret
donc jme dit peut-etre que ya un autre moyen plus simpliste pour le faire
Ou alors l'exo est fait exprés pour qu'on sache de nous même le faire looool
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
30 sept. 2010 à 23:54
30 sept. 2010 à 23:54
Ah, j'avais même pas tilté :-).
Quelques remarques :
Pourquoi utiliser des float/double alors ? Utilise simplement des int.
Le system("PAUSE") c'est juste pour éviter que la fenêtre ne se referme à la fin du programme. Sinon, tu risques de voir la fenêtre se refermer aussitôt sans que tu aies le temps de lire "le résultat est". Teste sans, tu comprendras le problème. Si ça te gène, tu peux remplacer par un scanf bidon.
varret est fournit par l'utilisateur en premier
Je pense qu'il faut faire aussi un scanf pour varret. Non ?
affiche la somme d'une suite de nombres fournis par l'utilisateur et qui se termine par une valeur particuliere, varret, qui n'en fait pas partie.
Toi tu as compté le varret dans la somme. Regarde bien ;-))).
Quelques remarques :
Pourquoi utiliser des float/double alors ? Utilise simplement des int.
Le system("PAUSE") c'est juste pour éviter que la fenêtre ne se referme à la fin du programme. Sinon, tu risques de voir la fenêtre se refermer aussitôt sans que tu aies le temps de lire "le résultat est". Teste sans, tu comprendras le problème. Si ça te gène, tu peux remplacer par un scanf bidon.
varret est fournit par l'utilisateur en premier
Je pense qu'il faut faire aussi un scanf pour varret. Non ?
affiche la somme d'une suite de nombres fournis par l'utilisateur et qui se termine par une valeur particuliere, varret, qui n'en fait pas partie.
Toi tu as compté le varret dans la somme. Regarde bien ;-))).
Pourquoi utiliser des float/double alors ? Utilise simplement des int.
Il me semble que la prof a dit que si on sait pas la taille mieux vaut mettre Float afin qu'il puisse accueillir de grandes valeurs...remarque on travaillait sur un exo avec x^n a ce moment là c'est peut-être pour ça
Le system("PAUSE") c'est juste...
Ok je connaissais pas...moi je faisais vite un IMPRIM ECRAN pour voir le résultat à chaque fois lool
J'ai essayé avec ce que tu m'as donné de rajouter un
mais apparemment c'est pas ça car le programme s'arrete juste aprés avoir rentré cette valeur en me mettant le résultat est 0.00000
Et je voulais savoir si le SYSTEM PAUSE il était lié au STDLIB ou je peux l'utiliser seulement avec STDIO ???
Il me semble que la prof a dit que si on sait pas la taille mieux vaut mettre Float afin qu'il puisse accueillir de grandes valeurs...remarque on travaillait sur un exo avec x^n a ce moment là c'est peut-être pour ça
Le system("PAUSE") c'est juste...
Ok je connaissais pas...moi je faisais vite un IMPRIM ECRAN pour voir le résultat à chaque fois lool
J'ai essayé avec ce que tu m'as donné de rajouter un
Printf("choisissez la varret"); scanf("%f",&varret);
mais apparemment c'est pas ça car le programme s'arrete juste aprés avoir rentré cette valeur en me mettant le résultat est 0.00000
Et je voulais savoir si le SYSTEM PAUSE il était lié au STDLIB ou je peux l'utiliser seulement avec STDIO ???
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
1 oct. 2010 à 00:16
1 oct. 2010 à 00:16
Printf("choisissez la varret");
scanf("%f",&varret);
Normal, varret est de type double dans mon exemple. Il faut donc mettre : scanf("%lf",&varret); (L minuscule).
La fonction system appartient au header stdlib.h.
scanf("%f",&varret);
Normal, varret est de type double dans mon exemple. Il faut donc mettre : scanf("%lf",&varret); (L minuscule).
La fonction system appartient au header stdlib.h.