Petite calculatrice toute simple avec gestion d'erreur

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 043 fois - Téléchargée 31 fois

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

Ajouter un commentaire

Commentaires

Haldwin
Messages postés
77
Date d'inscription
lundi 15 avril 2002
Statut
Membre
Dernière intervention
16 juin 2004

Salut,
D'abord remplaces ton #include<stdio.h> par #include.
Ensuite, dans ton titre, tu dis calc avec gestion d'erreur!! ça fait maintenant 30 sec que je l'utilise et j'ai un bug:
100000000000000000000 sur add ou n'importe quoi d'autre et là ça plante!
Restons modeste....
<<-- H@ldwin -->>
Anyhome
Messages postés
8
Date d'inscription
lundi 23 juin 2003
Statut
Membre
Dernière intervention
9 décembre 2003

Merci pour la suggestion je n'y avais pas pensé je le remete a jour ce soir.
cs_JCDjcd
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
2
Tu pourrais factoriser le :
****************************************
//Premier terme
float nba1;
cout <<"Entre le premier nombre :
";
cin >>nba1;

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

DIVISION PAR ZERO NON GERER !

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)