Resolution polynome

Contenu du snippet

Résoux un system d'inconnu du second degrès (polynome sous la forme ax²+bx+c=0)
je vien de le faire en 10 minutes car j'en avait besoin, ce code n'a aucune prétention et est d'un niveau plus que basic

Source / Exemple :


/////////////////////////////////////////////
/*
Resolution de polynome (equation second degres) fait par SfyLer en C++
admin@cxczone.com
Compilateur: Visual C++, gcc/devC++
/////////////////////////////////////////////*/
#include <math.h>
#include <stdlib.h>
#include <iostream.h>

//// déclarations fonctions 
void Bienvenue();
int sortiee();

//espaces de stockages des variables
namespace var {
float a;
float b;
float c;
float result;
int sortie = 0;
int classteste;
}

//class résolution
class resolution {
public:
	float verif(float a, float b, float c); //Vérifie si il y as une solution
  	float calculer();//si oui alors on les calcules
private:
	float Ca;
	float Cb;
	float Cc;

};
resolution polynome;

//main
int main(void) {
Bienvenue();
using var::a;
using var::b;
using var::c;
using var::sortie;
using var::classteste;
//execution du programme

do {
cout << "\na: ";
cin >> a;
cout << "\nb: ";
cin >> b;
cout << "\nc: ";
cin >> c;

polynome.verif(a,b,c);

sortiee();

//apres quitter !
}while(sortie != 1);
	return 0;
}

//sortie du prog
int sortiee() {
	cout << "\nVoulez vous quitter ? (o/n): ";
	char confirm;
	cin >> confirm;
	using var::sortie;
	if(confirm == 'o' ){ cout << "\nA bientot ! \n"; sortie = 1;}
	else { Bienvenue(); }

	return 0;
}

//msg bienvenue
void Bienvenue() { 
	system("cls"); // clear au lieu de cls pour système unix
	cout << "\n\n\t\tResolution polynome par SfyLer (C++)\n";
	cout << "\n\n\tResolution d'equation du second degres du type ax²+bx+c=0\n";
}

//définition fonctions de la class resolution:

float resolution::verif(float a, float b, float c){
	Ca = a;
 Cb = b;
	Cc = c;
cout << "\nCalcul de Beta : ";
using var::result;
using var::classteste;
result = b * b - 4 * a*c;
cout << result;
if(result == 0) {
	cout << "\nUne solution !\n";
	classteste = 1;
	polynome.calculer();

}
else if(result > 0) { 
	cout << "\nDeux solutions !\n";
	classteste = 2;
	polynome.calculer();

}
else if(result < 0) { 
	cout << "\nPas de solution !\n";
	classteste = 0;

}
return 0;
}

//Fonction calculé
float resolution::calculer(){
	using var::classteste;

	double racine;
	racine = var::result;
	//sqrt(racine) pour calculer la racine
	double resultatfinal1 = 0;
	double resultatfinal2 = 0;
		double FAC = 0;
	if(classteste == 2) { //vérifie le nb de solution
	cout << "\nSolution 1, x1 = "; // (-b-RACINEdelta)/(2a)
	
	resultatfinal1 = (-Cb - sqrt(racine))/(2*Ca);
	cout << resultatfinal1;

	cout << "\nSolution 2, x2 = ";
	resultatfinal2 = (-Cb + sqrt(racine))/(2*Ca);
	cout << resultatfinal2;
	if(Ca > 0 ) { 
		cout << "\nForme de la courbe: Positive, Neguative, Positive"; }
	if(Ca < 0 ) { 
		cout << "\nForme de la courbe: Neguative, Positive, Neguative"; }

	}
	cout << "\nFactorisation: ";
	cout << Ca << "(X-(" << resultatfinal1 << "))(X-(" << resultatfinal2 << "))";

	if(classteste == 1) {
	cout << "\nSolution , x = "; // (-b)/(2a)
	
	resultatfinal1 = (-Cb)/(2*Ca);
	cout << resultatfinal1;
		if(Ca > 0 ) { 
		cout << "\nForme de la courbe: Decroissant puis Croissant"; }
	if(Ca < 0 ) { 
		cout << "\nForme de la courbe: Croissant puis Decroissant"; }
	}

	return 0;
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.