1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
| #include <iostream>
#include <math.h>
//declaration et creation de la fonction pour calculer delta
int fonctiondelta(int a,int b,int c);
int fonctiondelta(int a,int b,int c)
{
return (b*b-(4*a*c));
}
//definition et creation de la fonction solureel
void solureel(int a,int b,int delta);
void solureel(int a,int b,int delta)
{
double solution1,solution2;
solution1=(-b+sqrt(delta))/(2*a);
solution2=(-b-sqrt(delta))/(2*a);
std::cout<<"solution1= "<<solution1<<"\net solution2= "<<solution2;
}
//definition et creation de la fonction 1 1 solution
void solune(int a,int b);
void solune(int a,int b)
{
double seulsolution;
seulsolution=-b/2*a;
std::cout<<"\nla solution de l'equation est: "<< seulsolution;
}
//definition et declaration de la fonction solutionimaginaire
void soluima(int a,int b,int delta);
void soluima(int a,int b,int delta)
{
//parceque je n 'arrive pas faire le calcul directement de (-b/2*a)???!!!je cree une variable t
//a laquelle j'affecte -b,puis je dis que t devient t/(2*a) :-)
double t;
t=-b;
t=t/(2*a);
std::cout<<"\nsolution1= " << t << "+" << (sqrt(-delta))/(2*a) << "i\n";
std::cout<<"\nsolution2= " << t << "-" << (sqrt(-delta))/(2*a) << "i\n";
}
//fonction qui verifie si delta est >0 =0 ou <0 et appel une autre fonction en consequence
void verifdelta(int a,int b,int delta);
void verifdelta(int a,int b, int delta)
{
if (delta==0)
{
std::cout<<"il y a une solution reelle\n";
solune(a,b);
}
if (delta>0)
{
std::cout<<"il y a deux solutions reelles\n";
solureel(a,b,delta);
}
if (delta<0)
{
std::cout<<"il y a deux solutions imaginaires\n";
soluima(a,b,delta);
}
}
//definition et creation de la fonction maitresse
void maitresse(void);
void maitresse(void)
{
int a,b,c,delta;
std::cout<<"\nce petit programme resoud des equations du second degre\n";
std::cout<<"\ny = ax² + bx +c = 0\n";
std::cout<<"\nVeuillez entrer une valeur pour a : \n";
std::cin>>a;
std::cout<<"\nVeuillez entrer une valeur pour b : \n";
std::cin>>b;
std::cout<<"\nVeuillez entrer une valeur pour c : \n";
std::cin>>c;
//appel de la fonction delta et affectation du resultat a la variable local delta
delta=fonctiondelta(a,b,c);
std::cout<<"delta= "<< delta <<"\n";
verifdelta(a,b,delta);
}
//et voici la fonction main qui est obligatoir et qui est presque vide :-))))
int main()
{
maitresse();
return 0;
} |
Partager