Convertisseur de degrés kelvin, celcius et fahrenheit

Contenu du snippet


Source / Exemple :


#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

float KC(float temp, int to)
{
	if(to==1)
		{return (temp - 273.15);}
	else
		{return (temp + 273.15);}
}

float FC(float temp, int to)
{
	if(to==1)
		{return ( (temp-32) * 5/9.0 );}
	else
		{return ( (temp * 9/5.0) + 32 );}
}

float KF(float temp, int to)
{
	if(to==2)
		{return ( FC( KC( temp ,1) ,2));}
	else
		{return ( KC( FC( temp ,1) ,0));}
}

int QuelType(char lettre)
{
	int res;
	switch (lettre)
	{
		case 'k':
		case 'K':
		{
			res = 0 ;
			break;
		}
		case 'c':
		case 'C':
		{
			res = 1 ;
			break;
		}
		case 'f':
		case 'F':
		{
			res = 2 ;
			break;
		}
		default:
		{
			res = -1 ;
			cout << "\nERREUR : Saisie incorecte\n\n" ;
			break;
		}
	}
	return res ;
}

void main()
{

	float temp[2] ;
	int i, Type = -1 ;
	char *Deg[] = {"  K","  C","  F"} ;
	(Deg[0])[1] = char(248) ;
	(Deg[1])[1] = char(248) ;
	(Deg[2])[1] = char(248) ;

	clrscr() ;
	cout << "\t\tConversion de degres : Kelvin, Celcius et Fahrenheit\n\n\n" ;

	while(Type==-1)
	{
		cout << "Convertir de ? (K\\C\\F) " ;
		Type = QuelType(getchar()) ;
		while(getchar()!='\n');
	}

	cout << "\nTemperature a convertir ? \n" << Deg[Type] << " : " ;
	cin  >> temp[Type] ;

	switch (Type)
	{
		case 0:
		{
			temp[1] = KC( temp[Type] ,1) ;
			temp[2] = KF( temp[Type] ,2) ;
			break;
		}
		case 1:
		{
			temp[0] = KC( temp[Type] ,0) ;
			temp[2] = FC( temp[Type] ,2) ;
			break;
		}
		case 2:
		{
			temp[0] = KF( temp[Type] ,0) ;
			temp[1] = FC( temp[Type] ,1) ;
			break;
		}
		default:
		{
			cout << "ERREUR : Fermeture du programme\nAppuyez sur une touche..." ;
			getch() ;
			exit(1) ;
		}
	}

	cout << endl;
	cout.width(6);
	for(i=0;i<3;i++)
	{
		cout << "\t\t" << temp[i] << Deg[i] << endl ;
	}

	cout << "\n\n\n\n\n\nAppuyez sur une touche pour quitter ..." ;
	getch() ;
}

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.