Réponse acceptée !
Me revoila pour donner de mes nouvelles sur se début de programme. Je l ai abandonner, et se matin j ai décidé de le remodeler, et d ajouter des fonctions.
J ai supprimer le probleme en le supprimant vraiment looooool
Mais j y ai ajouter d autre fonctionnalité, comme un menu et un calculateur de moyenne sans coef (je verrai pour en mettre plus tard, je trouve pas le moyen d en mettre).
Voila le fichier :
main.cpp/**************************************
Programme : Nivek25 Calc 2008
Fichier : main.cpp
Créateur : Nivek25
Mail : nivek25@live.fr
Creation : 3/07/2008
Logiciel : Code::Blocks 8.02
Version : 1.0a
Modification : 17/07/2008
**************************************/
/**************************************
Ce programme fait partie d'un
tutoriel de CPPFrance, pour apprendre
en appliquant les bases du C++
Et des idées de moi meme
**************************************/
/**************************************
Fichiers à inclure
**************************************/
#include <iostream>
#include <cstdlib>
#include "main.h"
/**************************************
Utilisation de l'espace de noms standards
**************************************/
using namespace std;
/**************************************
Fonction pour quitter le programme
***************************************/
int quitter()
{
return 0;
}
/**************************************
Fonction de : refaire un calcul, retour au menu et quitter le programme
***************************************/
void retourBase()
{
int choix=0;
cout << "\n\n\t\t1 - Refaire un calcul\n\t\t2 - Retour au menu\n\t\t3 - Quitter le programme\n\n" << endl;
cout << "\t Votre choix : ";
cin >> choix;
if (choix == 1)
{
base();
}
else if (choix == 2)
{
choixMenu();
}
else if (choix == 3)
{
quitter();
}
else
{
retourBase();
}
}
/**************************************
Fonction de : refaire un calcul (moyenne) , retour au menu et quitter le programme
***************************************/
void retourMoyenne()
{
int choix=0;
cout << "\t\t1 - Refaire un calcul\n\t\t2 - Retour au menu\n\t\t3 - Quitter le programme\n\n" << endl;
cout << "\t Votre choix : ";
cin >> choix;
if (choix == 1)
{
moyenne();
}
else if (choix == 2)
{
choixMenu();
}
else if (choix == 3)
{
quitter();
}
else
{
retourMoyenne();
}
}
/**************************************
Fonction de : retour menu , quitter le programme
***************************************/
void retourApropos()
{
int choix=0;
cout << "\t\t1 - Retour au menu\n\t\t2 - Quitter le programme\n\n" << endl;
cout << "\t Votre choix : ";
cin >> choix;
if (choix == 1)
{
choixMenu();
}
else if (choix == 2)
{
quitter();
}
else
{
retourApropos();
}
}
/**************************************
Fonction de présentation
**************************************/
void prez()
{
cout << "\t\t\t#################################\n\t\t\t###\t\t\t ###\n\t\t\t### Calculatrice V1.0a ###\n\t\t\t###\t\t\t ###\n\t\t\t#################################\n\n" << endl;
cout << "\t\t Menu :\n\t\t ******\n\n" << endl;
}
/**************************************
Fonction de séléction du menu
**************************************/
void choixMenu()
{
//Déclaration des variables
int menuChoix=0;
//Affichage du menu
cout << "\t\t1 - Calcul de base" << endl;
cout << "\t\t2 - Calcul de moyenne" << endl;
cout << "\t\t3 - Quitter le programme" << endl;
cout << "\t\t4 - A propos ..." << endl;
//Demande d'entrer pour une option du menu
cout << "\n\n\n Choix du menu : ";
cin >> menuChoix;
verifChoixMenu(menuChoix);
}
/**************************************
Verification de la saisie de la fonction choixMenu
***************************************/
void verifChoixMenu(int menuChoix)
{
if (menuChoix == 1)
{
menu(1);
}
else if (menuChoix == 2)
{
menu(2);
}
else if (menuChoix == 3)
{
menu(3);
}
else if (menuChoix == 4)
{
menu(4);
}
else
{
cout << "Fausse manipulation\n\n" << endl;
choixMenu();
}
}
/**************************************
Fonction menu, avec les choix :
Calculs de base, moyennes, quitter.
A voir pour d'autre idée de menu une prochaine fois
***************************************/
void menu(int menuChoix)
{
//Boucle de type switch, permet de faire un choix donc un menu
switch (menuChoix)
{
case 1:
{
cout << "\n\t\tCalcul de base\n\n";
base();
break;
}
case 2:
{
cout <<"\n\t\tCalcul de moyenne\n\n";
moyenne();
break;
}
case 3:
{
cout << "\n\t\tAu revoir\n\n";
quitter();
break;
}
case 4:
{
cout << "\n\t\tA propos ..." << endl;
aPropos();
break;
}
//Default : C est si l'utilisateur du programme entre un choix autre que 1 , 2 et 3
default:
{
cout << "Fausse manipulation\n\n" << endl;
choixMenu();
//Ce break est facultatif car c'est la derniere case.
break;
}
}
}
/*************************************
Menu : Calcul de base
**************************************/
void base()
{
/**************************************
Définition et initialisation des variables
**************************************/
// Variables des deux nombres séléctionnés
double Nombre1, Nombre2 = 0;
// Variable contenant le resultat de l'opération
double resultat = 0.0;
//Variable contenant le signe de l'opération
char signe = '0';
/**************************************
Corps de la fonction
**************************************/
// Fonction permettant de saisir le premier nombre
cout << "Entrez le premier nombre " << endl;
cin >> Nombre1;
// Fonction permettant de saisir le signe de l'opération
cout << "Saisissez le signe de l'operation ( + - / * ) " << endl;
cin >> signe;
// Fonction permettant de saisir le second nombre
cout << "Entre le second nombre " << endl;
cin >> Nombre2;
// Déterminer le signe de l'opération
if (signe == '+')
{
resultat = Nombre1 + Nombre2;
}
else if (signe == '-')
{
resultat = Nombre1 - Nombre2;
}
else if (signe == '*')
{
resultat = Nombre1 * Nombre2;
}
else if (signe == '/')
{
resultat = Nombre1 / Nombre2;
}
// Affichage du résultat obtenu
cout << "Le resultat est " << resultat << "\n\n" << endl;
retourBase();
}
/**************************************
Menu : Calcul de moyenne
***************************************/
void moyenne()
{
/**************************************
Définition et initialisation des variables
***************************************/
float nombre = 0.0, nbAcumul, moyenne;
int total = 0;
/**************************************
Changement de valeur des variables par l'utilisateur
***************************************/
cout << "Saisissez le nombre total de valeurs : ";
cin >> total;
cout << "\n\n" << endl;
cout << "Maintenant saisissez les valeurs, et a chaque nombre appuyez sur la touche entree. \n";
for (int i=0; i < total ; i++)
{
cin >> nombre;
nbAcumul = nbAcumul + nombre;
}
moyenne = (nbAcumul / total);
cout << "La moyenne de vos valeurs est " << moyenne << "\n\n";
retourMoyenne();
}
void aPropos()
{
cout << "\t\tde Nivek25 Calc 2008 V1.0a\n\n" << endl;
cout << "\t Version de test, si bug : nivek25@live.fr\n" << endl;
cout << "\t\tCopyright (c) 2008 - Tous droits reserves.\n\n\n" << endl;
retourApropos();
}
/**************************************
Fonction main
Fonction principale du programme
**************************************/
int main()
{
prez();
choixMenu();
system("PAUSE");
return 0;
}
main.h/**************************************
Programme : Nivek25 Calc 2008
Fichier : main.h
Créateur : Nivek25
Mail : nivek25@live.fr
Creation : 3/07/2008
Logiciel : Code::Blocks 8.02
Version : 1.0a
Modification : 17/07/2008
**************************************/
/**********************************
Ce fichier déclare les fonctions et les variables globales utilisées dans le programme
**********************************/
#ifndef MAIN_H_INCLUDED
#define MAIN_H_INCLUDED
/**********************************
Definition des variables
**********************************/
//bariable du choix du menu
int menuChoix;
//variable contenant le signe de l'operation
char signe='0';
//variable de presence d'erreur
bool Erreur = true;
//variable de presence de decimal
bool Decimal = false;
/**********************************
Déclaration des fonctions
**********************************/
void aPropos();
void base();
void moyenne();
void menu(int menuChoix);
void verifChoixMenu(int menuChoix);
void choixMenu();
//Fonction main
int main();
#endif // MAIN_H_INCLUDED
Je suis assez content, c est le premier programme qui aboutit a un truc un peu util lol.
Dites m en se que vous en pensez ^^
Je l ameliorai plus tard quand j aurai le savoir suffisant lol et si il y a des bugs dites le moi ici. A priori aucun bug n est apparu (je l ai tester suffisament pour dire qu il n y a pas de bug ^^ mais on sait jamais lol)
