Probleme éxécution programme en C.
Résolu
jehutyy
Messages postés
51
Date d'inscription
Statut
Membre
Dernière intervention
-
Pitt911 -
Pitt911 -
Bonjour,
J'ai un petit problème lors de l'execution d'un programme que j'ai écrit en C.
En effet le programme se lance et une fois les données demandées rentré, le programme ne fait plus rien. Je vous donne mon programme, si quelqu'un pouvait m'indiquer si j'ai fais une erreur, je vous remercie d'avance.
cordialement
jehutyy
//début du programme.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
double a=0;
double b=0;
double c=0;
printf("entrez a\n");
scanf("%f", &a);
printf("entrez b\n");
scanf("%f", &b);
printf("entrez c\n");
scanf("%f\n", &c);
printf("%f, %f, %f", a, b, c);
int delta=(b*b)-(4*a*c);
printf("le delta est %d\n", delta);
if(delta>0)
{
double x1=(-b-sqrt(delta))/(2*a);
double x2=(-X2+sqrt(delta))/(2*a);
printf("%f, %f", x1,x2);
}
if(delta==0)
{
double x1=(-b)/(2*a);
printf("%f", x1);
}
if(delta<0) printf("pas de solutions");
return 0;
}
J'ai un petit problème lors de l'execution d'un programme que j'ai écrit en C.
En effet le programme se lance et une fois les données demandées rentré, le programme ne fait plus rien. Je vous donne mon programme, si quelqu'un pouvait m'indiquer si j'ai fais une erreur, je vous remercie d'avance.
cordialement
jehutyy
//début du programme.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
double a=0;
double b=0;
double c=0;
printf("entrez a\n");
scanf("%f", &a);
printf("entrez b\n");
scanf("%f", &b);
printf("entrez c\n");
scanf("%f\n", &c);
printf("%f, %f, %f", a, b, c);
int delta=(b*b)-(4*a*c);
printf("le delta est %d\n", delta);
if(delta>0)
{
double x1=(-b-sqrt(delta))/(2*a);
double x2=(-X2+sqrt(delta))/(2*a);
printf("%f, %f", x1,x2);
}
if(delta==0)
{
double x1=(-b)/(2*a);
printf("%f", x1);
}
if(delta<0) printf("pas de solutions");
return 0;
}
A voir également:
- Probleme éxécution programme en C.
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Message programmé iphone - Guide
- Programme word gratuit - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
9 réponses
Bonjour,
Essai d'enlever ton /n a ton scanf
et de le mettre a la ligne d'après comme ça :
scanf("%f", &c);
printf("/n%f, %f, %f", a, b, c);
Essai d'enlever ton /n a ton scanf
et de le mettre a la ligne d'après comme ça :
scanf("%f", &c);
printf("/n%f, %f, %f", a, b, c);
Salut.
c'est quoi ton environnement de développement ?
à part le delta en int plutôt qu'en double, je ne vois rien.
Le programme ne fait plus rien où exactement ? après la saisi de c ?
le seul truc de différent que je voi c'est l' "\n" pour le scanf de c.
c'est quoi ton environnement de développement ?
à part le delta en int plutôt qu'en double, je ne vois rien.
Le programme ne fait plus rien où exactement ? après la saisi de c ?
le seul truc de différent que je voi c'est l' "\n" pour le scanf de c.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En effet apres la saisi de a, b et c le programme ne fait plus rien.
La je viens de deplacer le "\n" le programme fonctionne mais m'affiche mes variable a 0 au lieu des valeurs que je rentre.
La je viens de deplacer le "\n" le programme fonctionne mais m'affiche mes variable a 0 au lieu des valeurs que je rentre.
Merci, je viens de changer mes double a,b et c en float ça marche.
Et merci pour le "%lf". Le programme fonctionne.
Merci tout le monde.
Bonne continuation.
cordialement
jehutyy
Et merci pour le "%lf". Le programme fonctionne.
Merci tout le monde.
Bonne continuation.
cordialement
jehutyy
Salut,
Ton problème est qu'avec des double on ne mets pas %f mais %lf remplace tout t'es %f par %lf (lf pour long float).
Il faut les mettre aussi au printf.
Ton problème est qu'avec des double on ne mets pas %f mais %lf remplace tout t'es %f par %lf (lf pour long float).
Il faut les mettre aussi au printf.
int main()
{
double a=0;
double b=0;
double c=0;
printf("entrez a\n");
scanf("%lf", &a);
printf("entrez b\n");
scanf("%lf", &b);
printf("entrez c\n");
scanf("%lf", &c);
// tu peux résumé c'est six ligne seulement 2 :
//printf(" Entre a b c");
//scanf("%lf%lf%lf",a,b,c)
printf("%lf, %lf, %lf", a, b, c);
delta=(b*b)-(4*a*c);
printf("le delta est %d\n", delta);
if(delta>0)
{
x1=(-b-sqrt(delta))/(2*a);
x2=(-X2+sqrt(delta))/(2*a);
printf("%lf, %lf", x1,x2);
}
if(delta==0)
{
x1=(-b)/(2*a);
printf("%lf", x1);
}
if(delta<0) printf("pas de solutions");
return 0;
}
Ps : désolé mais je m'étais planté dans le commentaire que j'ai supprimé
{
double a=0;
double b=0;
double c=0;
printf("entrez a\n");
scanf("%lf", &a);
printf("entrez b\n");
scanf("%lf", &b);
printf("entrez c\n");
scanf("%lf", &c);
// tu peux résumé c'est six ligne seulement 2 :
//printf(" Entre a b c");
//scanf("%lf%lf%lf",a,b,c)
printf("%lf, %lf, %lf", a, b, c);
delta=(b*b)-(4*a*c);
printf("le delta est %d\n", delta);
if(delta>0)
{
x1=(-b-sqrt(delta))/(2*a);
x2=(-X2+sqrt(delta))/(2*a);
printf("%lf, %lf", x1,x2);
}
if(delta==0)
{
x1=(-b)/(2*a);
printf("%lf", x1);
}
if(delta<0) printf("pas de solutions");
return 0;
}
Ps : désolé mais je m'étais planté dans le commentaire que j'ai supprimé