Petite calculatrice toute simple avec gestion d'erreur

0/5 (3 avis)

Snippet vu 4 601 fois - Téléchargée 33 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
25 juin 2003 à 17:05
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
23 juin 2003 à 16:54
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 4
23 juin 2003 à 15:48
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)