Appel d'un fichier d'entete
Résolu
fifouta
Messages postés
14
Statut
Membre
-
fifouta Messages postés 14 Statut Membre -
fifouta Messages postés 14 Statut Membre -
Bonjour,
je programme en c sous linux , il s'agit de résoudre une équation du second degrés.
en premier lieu on insite l'utilisateur à saisir les coéfficients, là le programme marche bien
ensuite , on utilise un fichier d'entete constante.h dans lequel on déclare les constante
son contenu est le suivant :
hors avec cette soluition ça ne marche pas
une idée sur la source du problème ?, merci de partager
je programme en c sous linux , il s'agit de résoudre une équation du second degrés.
en premier lieu on insite l'utilisateur à saisir les coéfficients, là le programme marche bien
#include<stdio.h>
#include<math.h>
main() {
int a,b,c ;float delta, x1 ,x2 ;
printf ("la valeur de A ? = ") ; scanf ("%d" , &a);
printf ("la valeur de B ? = ") ; scanf ("%d" , &b);
printf ("la valeur de C ? = ") ; scanf ("%d" , &c);
delta = pow(b,2)-4*a*c ;
if (delta<0) printf (" pas de solution de l'équation dans l'ensemble des réels\n");
else
if (delta==0)
{ x1= -b/2*a ;
printf (" solution unique égale à : %f\n", x1) ; }
else
{ x1= (-b-pow(delta,1/2))/2*a;
x2= (-b+pow(delta,1/2))/2*a;
printf ("solution double égale à : %f\n %f\n ", x1 , x2) ; }
}
ensuite , on utilise un fichier d'entete constante.h dans lequel on déclare les constante
son contenu est le suivant :
#define a 9 #define b 2 #define c 4
hors avec cette soluition ça ne marche pas
une idée sur la source du problème ?, merci de partager
A voir également:
- Appel d'un fichier d'entete
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
1 réponse
le problème est résolu pour ceux que ça interesse :
il ne faut pas mélanger à la fois les #define et les noms des variables, sinon ces derniers vont être remplacés par les valeurs des macros, avant la compilation. Ainsi « int a,b,c » va devenir « int 9,2,4 », ce qui n'a aucun sens, syntaxiquement.
donc fallait supprimer la ligne :
int a,b,c
un grand merci à Obsidian.
il ne faut pas mélanger à la fois les #define et les noms des variables, sinon ces derniers vont être remplacés par les valeurs des macros, avant la compilation. Ainsi « int a,b,c » va devenir « int 9,2,4 », ce qui n'a aucun sens, syntaxiquement.
donc fallait supprimer la ligne :
int a,b,c
un grand merci à Obsidian.