Voici l'exemple d'une calculette simple sous dos avec le convertisseur euros-francs, très bien pour les débutants.
Si le code en dessous ne suffit pas il y a dans le zip tout le reste (projet .dev; la feuille .cpp et les ressources).
Source / Exemple :
/*
Name: Caclulette convertisseur
Author: Darkbowsee
Date: 20/04/04
Copyright: 2004
#include <iostream>
#include <conio.c>
void addition();
void soustraction();
void multiplication();
void division();
void evf(); //euro vers francs
void fve(); //francs vers euro
void rc(); //racine carré
using namespace std;
int a, b, c;
char z;
int main()
{
textcolor(9); //couleur bleue
cout<<"************************************************************************\n";
cout<<"************************************************************************\n";
cout<<"**************************** Calculette ********************************\n";
cout<<"************************************************************************\n";
cout<<"************************************************************************\n";
cout<<" by Darkbowsee\n\n";
cout<<"Choisissez le type d'operation: \n\n";
cout<<"\t1 : Addition\n";
cout<<"\t2 : Soustraction\n";
cout<<"\t3 : Multiplication\n";
cout<<"\t4 : Division\n";
cout<<"\t5 : Convertisseur euros - francs\n";
cout<<"\t6 : Convertisseur francs - euros\n";
cout<<"\t7 : Racine carre\n";
cout<<"\tOu tapez autre chose pour quitter\n\n";
cout<<"Votre choix: ";
cin>>z;
cout<<"\n\n";
switch (z)
{
case '1': addition();
break;
case '2': soustraction();
break;
case '3': multiplication();
break;
case '4': division();
break;
case '5': evf();
break;
case '6': fve();
break;
case '7': rc();
break;
default : exit(0);
break;
}
return 0;
}
void addition()
{
cout<<"Quels nombres voulez-vous additioner?\n";
cin>>a;
cout<<"+\n";
cin>>b;
cout<<"\nLe resultat est "<<a+b<<"\n\n";
system ("PAUSE"); //"Appuyez sur une touche pour continuer"
system ("cls"); //Efface la totalité de l'écran (ca devient plus lisible d'un coup!)
main();
}
void soustraction()
{
cout<<"Quels nombres voulez-vous soustraire?\n";
cin>>a;
cout<<"-\n";
cin>>b;
cout<<"\nLe resultat est "<<a-b<<"\n\n";
system ("PAUSE");
system ("cls");
main();
}
void multiplication()
{
cout<<"Quels nombres voulez-vous multiplier?\n";
cin>>a;
cout<<"x\n";
cin>>b;
cout<<"\nLe resultat est "<<a*b<<"\n\n";
system ("PAUSE");
system ("cls");
main();
}
void division()
{
cout<<"Quels nombres voulez-vous diviser?\n";
cin>>a;
cout<<":\n";
cin>>b;
if (b==0) cout<<"On ne peut pas diviser par 0\n\n";
else cout<<"\nLe resultat est "<<a/b<<"\nde reste: "<<a%b<<"\n";
cout<<"\n";
system ("PAUSE");
system ("cls");
main();
}
void evf()
{
cout<<"Quelle somme en euros voulez-vous convertir?\n";
cin>>a; cout<<" euros donnent "<<a*6.55957<<" francs\n\n"; //le taux de convertion
system ("PAUSE");
system ("cls");
main();
}
void fve()
{
cout<<"Quelle somme en francs voulez-vous convertir?\n";
cin>>a; cout<<" francs donnent "<<a/6.55957<<" euros\n\n"; //le taux de convertion
system ("PAUSE");
system ("cls");
main();
}
void rc()
{
cout<<"De quel nombre voulez-vous avoir la racine carre?\n";
cin>>a; cout<<" renvoi "<<sqrt(a)<<"\n\n"; //sqrt sert a avoir la racine carré de la variable entre parenthèses
system ("PAUSE");
system ("cls");
main();
}
4 janv. 2005 à 22:12
4 janv. 2005 à 22:11
Sinon, pour le problème de la fraction, tu utilise des nombres de type int (entiers ) donc le programme qui calcule 1/4 =0.25 ne prend pas en compte le .25 . Relis ton bouquin ou tu a apris les cin et cout.
Au fait, bravo pour le if(==0) ;-)
Et tu peux encore mieux optimiser ton programme avec un while au lieu de relancer 10000x ta void main()
bool armageddon=false;
while(not armageddon){
... ton code
... switch(){
... la , je reprens ton default:
armageddon=true;
break;
}
}exit(0);
tu peux alors t'épargner ta redondance de SYSTEM "pause" et cls en les effaçant dans tes void et en les mettant après ton switch(){}
10 mai 2004 à 20:28
22 avril 2004 à 16:44
22 avril 2004 à 11:01
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.