Mathématique sur le discriminant?

jia2812 - 11 sept. 2001 à 14:12
 jia2812 - 21 sept. 2001 à 15:17
#include <stdio.h>
#include <complex>

int a,b,c,discriminant;
float X1,X2,X;

void main()
{

printf("\t\t##########################\n");
printf("\t\t## ##\n");
printf("\t\t##Calcul du discriminant##\n");
printf("\t\t## ##\n");
printf("\t\t##########################\n");

printf("Votre fonction est de la forme AX^2+BX+C\n");
printf("\nVeuillez entrer A: ");
scanf("%d",&a);
printf("\nVeuillez entrer B: ");
scanf("%d",&b);
printf("\nVeuillez entrer C: ");
scanf("%d",&c);

printf("\nVotre fonction est %dX^2+%dX+%d\n", a,b,c);

discriminant=b*b-4*a*c;
X1=1;
X2=2;
X=-b/2a;
printf("Le discriminant est %d : \n",discriminant);

switch (discriminant)
{
case >0 :printf("Il existe deux racines évidentes X1= %d et X2=%d\n",X1,X2);
break;
case = 0 : printf("Il existe une seule racine évidente X=%d\n",X)
break;
case<0: printf("Il n'existe aucune solution\n");
break;
}

Comme vs le voyez, j'ai fé ce prog' pr calculer le discriminant, mais apparemment ça plante! J'ai l'impression que ce qui fait planter cé lorsque je met des virgules??? Comment faire?...

Ensuite, comment note-t-on la racine carré en C++???

Ensuite, lorsque je fais printf("à"), VC++ ne sait ps écrire la lettre "à", comment faire???

Bin walla!

Merci d'avance... C'est pr aider 1 charmante amie, donc, messieurs, si vs êtes assez galants pr l'aider à s'sortir de son mauvais pas l'+ vite possible, c'serait cool & elle vs envoie mille bisous pr ça!... :blush)

Allez bone prog'!!!!!!!!

Gogogogogogogogoooooooooo

10 réponses

Salut,
j'ai moi meme déjà fait ce prog (mon 1er en C!!!) et je ne vois pas pourquoi il y a #include <complex>.
De plus quel est le résultat qd a=0?a et b=0 mais c#0??
Que se passe t'il qd on veut résoudre l'équation 2.1x²+4.3x+4.2?????
Pourquoi calculer toutes les solutions possibles meme qd y en a pas?? Ca "ralenti" l'execution du prog
L'instruction switch est très mal utilisée: case 0 et pas case = 0 et case<0 ca existe pas!!!!!!!!!!!
Faut absolument revoir ton code.
Bonne chance
0
au fait je ne savais pas ue toutes les équations du second degré qd elles avaient deux solutions qu'elles étaient 1 et 2!!!
Sans être méchant revoie tes maths avant de faire ton prog
0
Bon, je vais essayer d'etre moins mechant que Cidrik...
En gros, tu n'as pas envisagé tous les cas possibles en fonction des valeurs remarquables de a,b et c.
De plus ton prog n'envisage pas que a b et c puissent etre des réels décimaux... donc met des float ou des double au lieu des int
switch c plutot compliké ici, il vo mieux utiliser des if car tu ve placer des instruction en fonction du signe de discriminant. switch est plutot utilisé pour des valeurs
exemple : switch(determinant)
{
case 0: printf("DELTA VAUT 0");
break;
}
Voila...
En passant, je te fais un petit rappelle de 2nde-1ere:
soit a*x^2 + b*x + c=0
et D=b^2 -4*a*c
Si D>0 alors l'équation possède deux solutions X' et X''distinctes dans |R

X' =(-b-racine(D))/(2*a)
X''=(-b+racine(D))/(2*a)
Remarque : il est inutil de charger la librairie complexe.
De plus je t'informe que la fonction racine existe en C.
Pour l'utiliser, il te suffit de charger la librairie <math.h>
cette fonction se nomme sqrt. pour l'utiliser, fais :
sqrt(nombre_positif_ou_nul)
pour exprimer x=racine(2) tu fais :
x=sqrt(2);
voila, je pense avoir été complet....@bientot ;-)
PS: tu as kel age? depuis combien de temps programme tu?
0
-------------------------------
Réponse au message :
-------------------------------

Bon, je vais essayer d'etre moins mechant que Cidrik...
En gros, tu n'as pas envisagé tous les cas possibles en fonction des valeurs remarquables de a,b et c.
De plus ton prog n'envisage pas que a b et c puissent etre des réels décimaux... donc met des float ou des double au lieu des int
switch c plutot compliké ici, il vo mieux utiliser des if car tu ve placer des instruction en fonction du signe de discriminant. switch est plutot utilisé pour des valeurs
exemple : switch(determinant)
{
case 0: printf("DELTA VAUT 0");
break;
}
Voila...
En passant, je te fais un petit rappelle de 2nde-1ere:
soit a*x^2 + b*x + c=0
et D=b^2 -4*a*c
Si D>0 alors l'équation possède deux solutions X' et X''distinctes dans |R

X' =(-b-racine(D))/(2*a)
X''=(-b+racine(D))/(2*a)
Remarque : il est inutil de charger la librairie complexe.
De plus je t'informe que la fonction racine existe en C.
Pour l'utiliser, il te suffit de charger la librairie <math.h>
cette fonction se nomme sqrt. pour l'utiliser, fais :
sqrt(nombre_positif_ou_nul)
pour exprimer x=racine(2) tu fais :
x=sqrt(2);
voila, je pense avoir été complet....@bientot ;-)
PS: tu as kel age? depuis combien de temps programme tu?

__________________________________________________________
hé bin, merci à vous 2 pr la réponse!!!

Ben, ouais, déjà ke suis pô trè fortiche en maths alors!!!... Pourtant j'ai fé qu'appliquer la formule en adaptant au C++!! J'aéi ps pensé au math.h!... Merci!...

Bin ça fait à peine 1 mois que j'suis sur le C++!... Pô terrible?! ;)

Mon âge??... Ben voyons??? T'es 1 brin curieux??? Ps bien ça du tout!... En fait suffisamment jeune pour qu'on excuse ainsi mes fôtes!!! LOL :-p

Hé bin merci j'vais corriger tt ça!..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

Bon, je vais essayer d'etre moins mechant que Cidrik...
En gros, tu n'as pas envisagé tous les cas possibles en fonction des valeurs remarquables de a,b et c.
De plus ton prog n'envisage pas que a b et c puissent etre des réels décimaux... donc met des float ou des double au lieu des int
switch c plutot compliké ici, il vo mieux utiliser des if car tu ve placer des instruction en fonction du signe de discriminant. switch est plutot utilisé pour des valeurs
exemple : switch(determinant)
{
case 0: printf("DELTA VAUT 0");
break;
}
Voila...
En passant, je te fais un petit rappelle de 2nde-1ere:
soit a*x^2 + b*x + c=0
et D=b^2 -4*a*c
Si D>0 alors l'équation possède deux solutions X' et X''distinctes dans |R

X' =(-b-racine(D))/(2*a)
X''=(-b+racine(D))/(2*a)
Remarque : il est inutil de charger la librairie complexe.
De plus je t'informe que la fonction racine existe en C.
Pour l'utiliser, il te suffit de charger la librairie <math.h>
cette fonction se nomme sqrt. pour l'utiliser, fais :
sqrt(nombre_positif_ou_nul)
pour exprimer x=racine(2) tu fais :
x=sqrt(2);
voila, je pense avoir été complet....@bientot ;-)
PS: tu as kel age? depuis combien de temps programme tu?

__________________________________________________________
hé bin, merci à vous 2 pr la réponse!!!

Ben, ouais, déjà ke suis pô trè fortiche en maths alors!!!... Pourtant j'ai fé qu'appliquer la formule en adaptant au C++!! J'aéi ps pensé au math.h!... Merci!...

Bin ça fait à peine 1 mois que j'suis sur le C++!... Pô terrible?! ;)

Mon âge??... Ben voyons??? T'es 1 brin curieux??? Ps bien ça du tout!... En fait suffisamment jeune pour qu'on excuse ainsi mes fôtes!!! LOL :-p

Hé bin merci j'vais corriger tt ça!..
----------------------------------------------------------

juste un brin ;-)
remarque: jnai que 17ans et Cedric en a 16...
0
-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

Bon, je vais essayer d'etre moins mechant que Cidrik...
En gros, tu n'as pas envisagé tous les cas possibles en fonction des valeurs remarquables de a,b et c.
De plus ton prog n'envisage pas que a b et c puissent etre des réels décimaux... donc met des float ou des double au lieu des int
switch c plutot compliké ici, il vo mieux utiliser des if car tu ve placer des instruction en fonction du signe de discriminant. switch est plutot utilisé pour des valeurs
exemple : switch(determinant)
{
case 0: printf("DELTA VAUT 0");
break;
}
Voila...
En passant, je te fais un petit rappelle de 2nde-1ere:
soit a*x^2 + b*x + c=0
et D=b^2 -4*a*c
Si D>0 alors l'équation possède deux solutions X' et X''distinctes dans |R

X' =(-b-racine(D))/(2*a)
X''=(-b+racine(D))/(2*a)
Remarque : il est inutil de charger la librairie complexe.
De plus je t'informe que la fonction racine existe en C.
Pour l'utiliser, il te suffit de charger la librairie <math.h>
cette fonction se nomme sqrt. pour l'utiliser, fais :
sqrt(nombre_positif_ou_nul)
pour exprimer x=racine(2) tu fais :
x=sqrt(2);
voila, je pense avoir été complet....@bientot ;-)
PS: tu as kel age? depuis combien de temps programme tu?

__________________________________________________________
hé bin, merci à vous 2 pr la réponse!!!

Ben, ouais, déjà ke suis pô trè fortiche en maths alors!!!... Pourtant j'ai fé qu'appliquer la formule en adaptant au C++!! J'aéi ps pensé au math.h!... Merci!...

Bin ça fait à peine 1 mois que j'suis sur le C++!... Pô terrible?! ;)

Mon âge??... Ben voyons??? T'es 1 brin curieux??? Ps bien ça du tout!... En fait suffisamment jeune pour qu'on excuse ainsi mes fôtes!!! LOL :-p

Hé bin merci j'vais corriger tt ça!..
----------------------------------------------------------

juste un brin ;-)
remarque: jnai que 17ans et Cedric en a 16...
----------------------------------------------------------

Hé bin, ça tombe bien, chuis ds la moyenne!... [;P]
Ça fait longtps que vs y êtes ds l'C++?...

Allez bone prog'!!!!!!!!!!

Gogogogogogogogooooooooooooooo
0
-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

Bon, je vais essayer d'etre moins mechant que Cidrik...
En gros, tu n'as pas envisagé tous les cas possibles en fonction des valeurs remarquables de a,b et c.
De plus ton prog n'envisage pas que a b et c puissent etre des réels décimaux... donc met des float ou des double au lieu des int
switch c plutot compliké ici, il vo mieux utiliser des if car tu ve placer des instruction en fonction du signe de discriminant. switch est plutot utilisé pour des valeurs
exemple : switch(determinant)
{
case 0: printf("DELTA VAUT 0");
break;
}
Voila...
En passant, je te fais un petit rappelle de 2nde-1ere:
soit a*x^2 + b*x + c=0
et D=b^2 -4*a*c
Si D>0 alors l'équation possède deux solutions X' et X''distinctes dans |R

X' =(-b-racine(D))/(2*a)
X''=(-b+racine(D))/(2*a)
Remarque : il est inutil de charger la librairie complexe.
De plus je t'informe que la fonction racine existe en C.
Pour l'utiliser, il te suffit de charger la librairie <math.h>
cette fonction se nomme sqrt. pour l'utiliser, fais :
sqrt(nombre_positif_ou_nul)
pour exprimer x=racine(2) tu fais :
x=sqrt(2);
voila, je pense avoir été complet....@bientot ;-)
PS: tu as kel age? depuis combien de temps programme tu?

__________________________________________________________
hé bin, merci à vous 2 pr la réponse!!!

Ben, ouais, déjà ke suis pô trè fortiche en maths alors!!!... Pourtant j'ai fé qu'appliquer la formule en adaptant au C++!! J'aéi ps pensé au math.h!... Merci!...

Bin ça fait à peine 1 mois que j'suis sur le C++!... Pô terrible?! ;)

Mon âge??... Ben voyons??? T'es 1 brin curieux??? Ps bien ça du tout!... En fait suffisamment jeune pour qu'on excuse ainsi mes fôtes!!! LOL :-p

Hé bin merci j'vais corriger tt ça!..
----------------------------------------------------------

juste un brin ;-)
remarque: jnai que 17ans et Cedric en a 16...
----------------------------------------------------------

Hé bin, ça tombe bien, chuis ds la moyenne!... [;P]
Ça fait longtps que vs y êtes ds l'C++?...

Allez bone prog'!!!!!!!!!!

Gogogogogogogogooooooooooooooo

----------------------------------------------------------
ma foi, quelques mois...mais nous on programme en C et non en C++
@+
0
-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

Bon, je vais essayer d'etre moins mechant que Cidrik...
En gros, tu n'as pas envisagé tous les cas possibles en fonction des valeurs remarquables de a,b et c.
De plus ton prog n'envisage pas que a b et c puissent etre des réels décimaux... donc met des float ou des double au lieu des int
switch c plutot compliké ici, il vo mieux utiliser des if car tu ve placer des instruction en fonction du signe de discriminant. switch est plutot utilisé pour des valeurs
exemple : switch(determinant)
{
case 0: printf("DELTA VAUT 0");
break;
}
Voila...
En passant, je te fais un petit rappelle de 2nde-1ere:
soit a*x^2 + b*x + c=0
et D=b^2 -4*a*c
Si D>0 alors l'équation possède deux solutions X' et X''distinctes dans |R

X' =(-b-racine(D))/(2*a)
X''=(-b+racine(D))/(2*a)
Remarque : il est inutil de charger la librairie complexe.
De plus je t'informe que la fonction racine existe en C.
Pour l'utiliser, il te suffit de charger la librairie <math.h>
cette fonction se nomme sqrt. pour l'utiliser, fais :
sqrt(nombre_positif_ou_nul)
pour exprimer x=racine(2) tu fais :
x=sqrt(2);
voila, je pense avoir été complet....@bientot ;-)
PS: tu as kel age? depuis combien de temps programme tu?

__________________________________________________________
hé bin, merci à vous 2 pr la réponse!!!

Ben, ouais, déjà ke suis pô trè fortiche en maths alors!!!... Pourtant j'ai fé qu'appliquer la formule en adaptant au C++!! J'aéi ps pensé au math.h!... Merci!...

Bin ça fait à peine 1 mois que j'suis sur le C++!... Pô terrible?! ;)

Mon âge??... Ben voyons??? T'es 1 brin curieux??? Ps bien ça du tout!... En fait suffisamment jeune pour qu'on excuse ainsi mes fôtes!!! LOL :-p

Hé bin merci j'vais corriger tt ça!..
----------------------------------------------------------

juste un brin ;-)
remarque: jnai que 17ans et Cedric en a 16...
----------------------------------------------------------

Hé bin, ça tombe bien, chuis ds la moyenne!... [;P]
Ça fait longtps que vs y êtes ds l'C++?...

Allez bone prog'!!!!!!!!!!

Gogogogogogogogooooooooooooooo

----------------------------------------------------------
ma foi, quelques mois...mais nous on programme en C et non en C++
@+

----------------------------------------------------------

Cé pô trop dur le C?... Car à bien lire les tuto' (& si j'ai bien compris) le C++ est 1 tantinet + souple & + facile d'emploi par rapport au C, n'est-ce pas?... Me trompé-je?... :blush)

Allez bone prog'!!!!!!

Gogogogogogogogogoooooooo

P.S: au fait, j'y pense: vs préférez koi: C++ Builder ou VC++?... Euh, cé pô pour polémiquer cé juste pour voir sous quelle log' on prog' le+ souvent!... Cé tout! :big)
0
-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

Bon, je vais essayer d'etre moins mechant que Cidrik...
En gros, tu n'as pas envisagé tous les cas possibles en fonction des valeurs remarquables de a,b et c.
De plus ton prog n'envisage pas que a b et c puissent etre des réels décimaux... donc met des float ou des double au lieu des int
switch c plutot compliké ici, il vo mieux utiliser des if car tu ve placer des instruction en fonction du signe de discriminant. switch est plutot utilisé pour des valeurs
exemple : switch(determinant)
{
case 0: printf("DELTA VAUT 0");
break;
}
Voila...
En passant, je te fais un petit rappelle de 2nde-1ere:
soit a*x^2 + b*x + c=0
et D=b^2 -4*a*c
Si D>0 alors l'équation possède deux solutions X' et X''distinctes dans |R

X' =(-b-racine(D))/(2*a)
X''=(-b+racine(D))/(2*a)
Remarque : il est inutil de charger la librairie complexe.
De plus je t'informe que la fonction racine existe en C.
Pour l'utiliser, il te suffit de charger la librairie <math.h>
cette fonction se nomme sqrt. pour l'utiliser, fais :
sqrt(nombre_positif_ou_nul)
pour exprimer x=racine(2) tu fais :
x=sqrt(2);
voila, je pense avoir été complet....@bientot ;-)
PS: tu as kel age? depuis combien de temps programme tu?

__________________________________________________________
hé bin, merci à vous 2 pr la réponse!!!

Ben, ouais, déjà ke suis pô trè fortiche en maths alors!!!... Pourtant j'ai fé qu'appliquer la formule en adaptant au C++!! J'aéi ps pensé au math.h!... Merci!...

Bin ça fait à peine 1 mois que j'suis sur le C++!... Pô terrible?! ;)

Mon âge??... Ben voyons??? T'es 1 brin curieux??? Ps bien ça du tout!... En fait suffisamment jeune pour qu'on excuse ainsi mes fôtes!!! LOL :-p

Hé bin merci j'vais corriger tt ça!..
----------------------------------------------------------

juste un brin ;-)
remarque: jnai que 17ans et Cedric en a 16...
----------------------------------------------------------

Hé bin, ça tombe bien, chuis ds la moyenne!... [;P]
Ça fait longtps que vs y êtes ds l'C++?...

Allez bone prog'!!!!!!!!!!

Gogogogogogogogooooooooooooooo

----------------------------------------------------------
ma foi, quelques mois...mais nous on programme en C et non en C++
@+

----------------------------------------------------------

Cé pô trop dur le C?... Car à bien lire les tuto' (& si j'ai bien compris) le C++ est 1 tantinet + souple & + facile d'emploi par rapport au C, n'est-ce pas?... Me trompé-je?... :blush)

Allez bone prog'!!!!!!

Gogogogogogogogogoooooooo

P.S: au fait, j'y pense: vs préférez koi: C++ Builder ou VC++?... Euh, cé pô pour polémiquer cé juste pour voir sous quelle log' on prog' le+ souvent!... Cé tout! :big)
________________________________________________________________________________________________________________________
borland c plus sympa : les biblitoheques, du moins certaines, sont mieux...
le c++ est un dérivé du c, mais en le c est mieux, c un langage plus puissant
0
-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message :
-------------------------------

Bon, je vais essayer d'etre moins mechant que Cidrik...
En gros, tu n'as pas envisagé tous les cas possibles en fonction des valeurs remarquables de a,b et c.
De plus ton prog n'envisage pas que a b et c puissent etre des réels décimaux... donc met des float ou des double au lieu des int
switch c plutot compliké ici, il vo mieux utiliser des if car tu ve placer des instruction en fonction du signe de discriminant. switch est plutot utilisé pour des valeurs
exemple : switch(determinant)
{
case 0: printf("DELTA VAUT 0");
break;
}
Voila...
En passant, je te fais un petit rappelle de 2nde-1ere:
soit a*x^2 + b*x + c=0
et D=b^2 -4*a*c
Si D>0 alors l'équation possède deux solutions X' et X''distinctes dans |R

X' =(-b-racine(D))/(2*a)
X''=(-b+racine(D))/(2*a)
Remarque : il est inutil de charger la librairie complexe.
De plus je t'informe que la fonction racine existe en C.
Pour l'utiliser, il te suffit de charger la librairie <math.h>
cette fonction se nomme sqrt. pour l'utiliser, fais :
sqrt(nombre_positif_ou_nul)
pour exprimer x=racine(2) tu fais :
x=sqrt(2);
voila, je pense avoir été complet....@bientot ;-)
PS: tu as kel age? depuis combien de temps programme tu?

__________________________________________________________
hé bin, merci à vous 2 pr la réponse!!!

Ben, ouais, déjà ke suis pô trè fortiche en maths alors!!!... Pourtant j'ai fé qu'appliquer la formule en adaptant au C++!! J'aéi ps pensé au math.h!... Merci!...

Bin ça fait à peine 1 mois que j'suis sur le C++!... Pô terrible?! ;)

Mon âge??... Ben voyons??? T'es 1 brin curieux??? Ps bien ça du tout!... En fait suffisamment jeune pour qu'on excuse ainsi mes fôtes!!! LOL :-p

Hé bin merci j'vais corriger tt ça!..
----------------------------------------------------------

juste un brin ;-)
remarque: jnai que 17ans et Cedric en a 16...
----------------------------------------------------------

Hé bin, ça tombe bien, chuis ds la moyenne!... [;P]
Ça fait longtps que vs y êtes ds l'C++?...

Allez bone prog'!!!!!!!!!!

Gogogogogogogogooooooooooooooo

----------------------------------------------------------
ma foi, quelques mois...mais nous on programme en C et non en C++
@+

----------------------------------------------------------

Cé pô trop dur le C?... Car à bien lire les tuto' (& si j'ai bien compris) le C++ est 1 tantinet + souple & + facile d'emploi par rapport au C, n'est-ce pas?... Me trompé-je?... :blush)

Allez bone prog'!!!!!!

Gogogogogogogogogoooooooo

P.S: au fait, j'y pense: vs préférez koi: C++ Builder ou VC++?... Euh, cé pô pour polémiquer cé juste pour voir sous quelle log' on prog' le+ souvent!... Cé tout! :big)
________________________________________________________________________________________________________________________
borland c plus sympa : les biblitoheques, du moins certaines, sont mieux...
le c++ est un dérivé du c, mais en le c est mieux, c un langage plus puissant

---------------------------------------------------
Cé vrai ke Borland a l'air mieux... Surtout après avoir lu les tuto là-dessus, & après avoir essayé les 2... De ttes façons je prog' sous les 2 histoire de voir ce ke je suis capable de faire, & de mieux comprendre afin d'avoir de solides bases. Mais bon, faudrait des journées de 96 heures pour pouvoir tout apprendre tout en prenant le temps!!!
:-p

Allez bone prog'!!!!!

Gogogogogogogogogogogooooooooooo
0
Rejoignez-nous