Arrondissement selon le mode choisi

Contenu du snippet

ce petit prog arrondi un nombre selon la precision choisi et le mode(inferieur, superieur ou plus proche.

Source / Exemple :


#include <iostream.h>
#include <math.h>
double arrpos_s(double X, int N);
double arrpos_i(double X, int N);
double arrpos_p(double X, int N);
double arrondi(double X,int N,int M);
int main()
{ 
	double nombre;
 int precision, mode;
 do 
 { 
	 cout << "Entrez un nombre reel, une precision et un mode d'arrondissement:" << endl
		 << "-1: Arrondissement par la valeur inferieure" <<endl
		 << " 0: Arrondissement par la valeur la plus proche" <<endl
		 << " 1: Arrondissement par la valeur superieure" <<endl;
	 cin >> nombre >> precision>>mode;
	 cout << arrondi(nombre, precision,mode) << endl;
 }
 while (nombre!=0);
 //do while 
 return 0;
 }//main
double arrpos_s(double X, int N)
{ 
	int a; a=(int)(X*pow(10, (double)N))+1;
	return a/pow(10, (double)N);
}
//arrpos_s
double arrpos_i(double X, int N)
{
	int a;
	a=(int)(X*pow(10, (double)N));
	return a/pow(10, (double)N);
}//arrpos_i
double arrpos_p(double X, int N)
{
	int unites;
	unites=(int)(X*pow(10, (double)N+1))%10;
	if(unites<=4)
		return arrpos_i(X,N);
	else
		return arrpos_s(X,N);
}//arrpos_p
double arrondi(double X,int N,int M)
{
	double nombre;
	int precision, mode;
	switch(M)
	{ 
	case -1:return arrpos_i(X,N);break;
	case 0: return arrpos_p(X,N);break;
	case 1: return arrpos_s(X,N);break;
	default: do
			 { 
				 cout << "Mauvais parametre, same player shoot again" << endl
					 <<"Entrez un nombre reel, une precision et un mode d'arrondissement:" << endl
					 << "-1: Arrondissement par la valeur inferieure" <<endl
					 << " 0: Arrondissement par la valeur la plus proche" <<endl
					 << " 1: Arrondissement par la valeur superieure" <<endl;
				 cin >> nombre >> precision>>mode;
				 cout << arrondi(nombre, precision,mode)<< endl;
			 }
			 while (nombre!=0);
			 //do while 
			 return 0;
	}//switch
}//arrondi

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.

Du même auteur (gdc100)