Petite calculatrice toute simple avec gestion d'erreur

Contenu du snippet

Ben cette caltos ne montre que le début, switch, boucle for, et le principe des fonctions (déclaration, utilisation, description).
Je l'ai commenter comme je pouvais, ca devrai aller.
Au passage c'est ma premiere source, ne m'en vouler pas et dites moi ce que vous en pensez.

Source / Exemple :


//Calculatrice simple sous DOS
//Main.cpp

//Fichiers headers
#include <stdio.h>

//Variables
char choix1;
char choix2;

//Protoype de fonctions
void MenuP(void);

//PEP
void main(void)
{
                //Petite pub :o)
	cout <<"Welcome in our calculator !\n";
	cout <<"\n";
	cout <<"--------------- By Fabien ------------";
	cout <<"\n";
	cout <<"\n";

	
		//Boucle qui permet de faire plusieurs opérations sans relancer le prog
		for(;;)
	{
		char choix = 'o';
			cout <<"Voulez vous continuer \?: o ou n : \n";//Ben la c'est le choix oui ou non
			cin >>choix;

			if(choix != 'o')//sinon 'n' opu autre lettres
			{
				cout <<"Programme fait par Fabien, tout droits reserves, merci d\'etre venu. \n";
				break;//Fin du programme
			}

			MenuP();//Sinon on retourne au choix d'opérations

	switch(choix1)//on scan le choix entré
	{
		case '1':
			
			//Le choix des float pour les nombres a virgules (tout bete non)
			//Premier terme
			float nba1;
			cout <<"Entre le premier nombre :\n";
			cin >>nba1;

			//Deuxieme terme
			float nba2;
			cout <<"Entre le deuxieme chiffre :\n";
			cin >>nba2;

			//Résultat
			float resulta;
			resulta = nba1 + nba2;
			cout <<"Le resultat est :\n";
			cout <<resulta;
			cout <<"\n";
	
		break;

		case '2':
			
			float nbd1;
			cout <<"Entre le premier chiffre :\n";
			cin >>nbd1;

			float nbd2;
			cout <<"Entre le deuxieme chiffre :\n";
			cin >>nbd2;

			float resultd;
			resultd = nbd1 / nbd2;
			cout <<"Le resultat est : \n";
			cout <<resultd;
			cout <<"\n";
		
		break;

		case '3':

			float nbs1;
			cout <<"Entre le premier le chiffre :\n";
			cin >>nbs1;

			float nbs2;
			cout <<"Entre le deuxieme le chiffre :\n";
			cin >>nbs2;

			float results;
			results = nbs1 - nbs2;
			cout<<"Le resultat est : \n";
			cout <<results;
			cout <<"\n";

		break;
	

		case '4':
		
			float nbm1;
			cout <<"Entre le premier chiffre : \n";
			cin >>nbm1;

			float nbm2;
			cout <<"Entre le deuxieme chiffre : \n";
			cin >>nbm2;

			float resultm;
			resultm = nbm1 * nbm2;
			cout <<"Le resultat est :\n";
			cout <<resultm;
			cout <<"\n";

		break;

		case '5':

			float e1;
			cout <<"Entre la valeur en Euros a convertir : \n";
			cin >>e1;

			float res1;
			res1 = e1 *6.55957f;
			cout <<"La valeur en Francs est de : ";
			cout <<res1;
			cout <<"\n";

		break;

		case '6':

			float e2;
			cout <<"Entre la valeur en Francs a convertir : \n";
			cin >>e2;

			float res2;
			res2 = e2 / 6.55957f;
			cout <<"La valeur en Euros est de : ";
			cout <<res2;
			cout <<"\n";
		break;

						
		default://Au cas ou il y a une erreur de frappe,  le programme s'arrete
			cout <<"Tape pas n\'importe quoi, allez bye ! \n";	

		}

	}
	

	
}//fin du programme

void MenuP()//On pourrais mettre cette fonction s au début du programme, mais il est marrant de voir la "gestion de fonctions"
{

	cout <<"\n Que veux tu faire \? :\n \n";
	cout <<"  Addition tape 1 \n";
	cout <<"  Division tape 2 \n";
	cout <<"  Soustraction tape 3 \n";
	cout <<"  Multiplication tape 4 \n";
	cout <<"  Convertir Euros en Francs tape 5 \n";
	cout <<"  Convertir Francs en Euros tape 6 \n";
	cin >>choix1;
	
}

Conclusion :


Elle marche bien, en fait c'est bel et bien ce que je voulais faire, elle pratique pour les débutants.

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 (Anyhome)