A l'aide: exercice

Fermé
wal9lawi - 2 déc. 2010 à 20:25
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 - 2 déc. 2010 à 21:06
Bonjour,

j'ai comme exercice de créer un programme qui résoud les équations de premier et second degré
voila ce que j'ai réalisé
#include <stdio.h>
#include <math.h>


void main()
{
int d;
float a,b,c;
do 
{
	printf("Tapez le degré de l'équation:  ");
	scanf("%d",&d);
}while(d!=1 && d!=2);


switch (d)
{
	case 1:
	printf("Entrez a : ");
	scanf("%f",&a);
	printf("Entrez b : ");
	scanf("%f",&b);
	if (a!=0) printf("x=%f",-b/a);
	else printf("Impossible ! Division par zéro.");
	
	case 2:
	printf("Entrez a : ");
	scanf("%f",&a);
	printf("Entrez b : ");
	scanf("%f",&b);
	printf("Entrez c : ");
	scanf("%f",&c);
	if (b*b-4*a*c<0)printf("La solution est indéterminée dans IR");
	else if (b*b-4*a*c==0)printf("x=%f",-b/2*a);
	else printf("x=%f ou x=%f",(-b-sqrt(b*b-4*a*c))/2*a,(-b+sqrt(b*b-4*a*c))/2*a);
}}

mais ça ne se compile pas dans GCC
ça donne ça dans la sortie d'erreurs de Geany:
ex4.c:(.text+0x29f): undefined reference to 'sqrt'

à l'aide

2 réponses

notammen ça marche avec gcc -lm en terminal
rester à trouver moyen de configurer Geany pour qu'il fasse ceci
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289
2 déc. 2010 à 21:06
Bonsoir,
Je pense que l'erreur vient du type de tes données. Dans math.h, la définition de la racine carrée est :
double sqrt ( double x)


Autre remarque, ta division par 2a doit s'écrire .../(2*a) au lieu de .../2*a

@+
-1