Problème de programmation sur visual C++
Fermé
steph0312
-
21 oct. 2007 à 18:49
SmallFitz Messages postés 351 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 21 juin 2013 - 24 oct. 2007 à 18:21
SmallFitz Messages postés 351 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 21 juin 2013 - 24 oct. 2007 à 18:21
A voir également:
- Problème de programmation sur visual C++
- Microsoft visual c++ runtime - Guide
- Visual petanque - Télécharger - Sport
- Visual paradigm - Télécharger - Gestion de données
- Application de programmation - Guide
- Visual basic - Télécharger - Langages
2 réponses
SmallFitz
Messages postés
351
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
21 juin 2013
185
22 oct. 2007 à 01:14
22 oct. 2007 à 01:14
Bonjour,
Tu dois le rendre demain ? Mince !
T'es toujours là ? Je parie que non... Je repasserais si tu repostes pour demander de l'aide.
Pour ton prochain code regarde ma signature.
Tu dois le rendre demain ? Mince !
T'es toujours là ? Je parie que non... Je repasserais si tu repostes pour demander de l'aide.
Pour ton prochain code regarde ma signature.
SmallFitz
Messages postés
351
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
21 juin 2013
185
24 oct. 2007 à 18:21
24 oct. 2007 à 18:21
L'indentation sert juste a rendre son code plus clair.
Regarde ton code, pour toi ça peut être compréhensible, mais pour moi qui ne le connais pas c'est dur.
C'est tout ^^.
Bien alors voyons un peu ton code.
Chez moi c'est pareil, il y a aussi 2 warnings et 1 erreur :
Warning 1 :
Le type de ton main doit être int main, car normalement il recoit un int pour savoir si tout c'est bien passé ou pas.
Et comme il ne prend aucune variable en paramètre il faut mettre (void).
Ce qui donne
Donc à la fin de ton main il doit y avoir
Warning 2:
Tu veux afficher un float avec ton printf, il faut donc utiliser le formatteur qui lui est attaché : %.2f au lieu de %.2d. Note : je ne connais pas ces .2. Je ne fais que de la logique.
Error 1 :
Tu mets des break; n'importe où n'importe comment. Il s'utilisent en général lorsque tu fais une boucle switch{} mais pas à chaque fois qu'une condition se termine ! Enlèves les donc tous ils n'ont rien à faire là.
Sinon tu peux faire un tour sur le SiteDuZero ici la solution est bien plus simple il me semble.
https://openclassrooms.com/forum/sujet/calculateur-56513#r1319268
Sinon voilà ton code corrigé :
Bonne continuation !
Regarde ton code, pour toi ça peut être compréhensible, mais pour moi qui ne le connais pas c'est dur.
C'est tout ^^.
Bien alors voyons un peu ton code.
Chez moi c'est pareil, il y a aussi 2 warnings et 1 erreur :
:: === verifieurDeCodeSiteDuZero, Debug === main.c:10: warning: return type of 'main' is not `int' main.c:: In function `main': main.c:36: warning: int format, double arg (arg 2) main.c:64: error: syntax error before "return" :: === Build finished: 1 errors, 2 warnings ===
Warning 1 :
Le type de ton main doit être int main, car normalement il recoit un int pour savoir si tout c'est bien passé ou pas.
Et comme il ne prend aucune variable en paramètre il faut mettre (void).
Ce qui donne
int main (void)
Donc à la fin de ton main il doit y avoir
return 0;. En général ton IDE de le mets d'office, c'est bizarre que tu ais mis ça...
Warning 2:
Tu veux afficher un float avec ton printf, il faut donc utiliser le formatteur qui lui est attaché : %.2f au lieu de %.2d. Note : je ne connais pas ces .2. Je ne fais que de la logique.
Error 1 :
Tu mets des break; n'importe où n'importe comment. Il s'utilisent en général lorsque tu fais une boucle switch{} mais pas à chaque fois qu'une condition se termine ! Enlèves les donc tous ils n'ont rien à faire là.
Sinon tu peux faire un tour sur le SiteDuZero ici la solution est bien plus simple il me semble.
https://openclassrooms.com/forum/sujet/calculateur-56513#r1319268
Sinon voilà ton code corrigé :
# include <stdio.h> # include <stdlib.h> # include <math.h> # include <float.h> # include <string.h> # define PRECISION 0.005 int main (void) { float a,b,c,delta,u,borne_inf,borne_sup,r3,r2; double x1,x2; borne_inf = 0; borne_sup = FLT_MAX; delta = (b*b) - (4*a*c); printf("resolution d'un systeme d'equation du second degre\n"); printf("ax^2+ bx + c = 0\n"); printf("saisie du coefficient a\n"); scanf("%f", &a); printf("saisie du coefficient b\n"); scanf("%f", & b); printf("saisie du coefficient c\n"); scanf("%f", &c); printf("%.2f est le discriminant de cette equation\n", delta); if (delta<0) { printf("pas de solution reelle possible\n"); } if (delta==0) { printf("une seule solution reelle possible, u\n"); u=(-b)/(2*a); printf("%f.2d\n", u); } if (delta > 0) { while (borne_sup - borne_inf>=PRECISION); { r2=(borne_sup + borne_inf)/2; r3 = r2*r2; if (r3<delta) { borne_sup = (float)r2; } else { borne_inf = (float)r2; } printf("deux solutions reelles possibles,x1 et x2\n"); x1=(float)((-b - (r2))/(2*a)); x2=(float)((-b + (r2))/(2*a)); printf("%.2f\n", x1); printf("%.2f\n", x2); } } return 0; }
Bonne continuation !
22 oct. 2007 à 22:34