Des maths... encore! (dev-c++)

Contenu du snippet

Voici un programme rapide, approfondi, vous permettant de calculer des moyennes rapidement. Aussi bien à partir de nombres prédéfinis que de nombres entrés. Meme détail pour l'incrémentation que la source précédente, le choix d'une pré ou post incrémentation n'a pas de réèl conséquence ici. N'hésitez pas à laisser vos commentaires et/ou aide!
Lion7

Source / Exemple :


#include <stdio.h>
#include <iostream>
#include <iomanip>

using std::cout;
using std::cin;
using std::endl;
using std::ios;

/* Déclaration des variables */

double moyenne;

 int compteur0 = 0,
     compteur1 = 0,
     compteur2 = 0,
     compteur3 = 0,
     compteur4 = 0,
     compteur5 = 0,
     compteur6 = 0,
     compteur7 = 0,
     compteur8 = 0,
     compteur9 = 0,
     compteur10 = 0,
     compteur21 = 0,
     total,
     resultat,
     int1;

int main(int argc, char *argv[])
{
  
/* Invite utilisateur */

 cout << "Bienvenue, vous pourrez calculer des moyennes, les classer et les comparer, taper 1 !\n";
  cout << "Veuillez entrer les moyennes (comprises entre 0 et 10), entrer le caractère de fin de fichier pour terminer\n";
  cout << "Pour entrer VOS valeurs, tapez 2:\n";
  cout << "Tapez 3 pour fermer le programme.\n";
  cin >> int1;
  cout << "Pour calculer la moyenne de nombres pré-définis, tapez 2:\n";
  cin >> int1;

/* Utilisation de l'opérateur switch pour établir un bilan des notes entrés */

  if ( int1 == 1 ) {
  while ( ( resultat = cin.get() ) != EOF ) {
   switch ( resultat ) {
    case '0':
     compteur0++;
     compteur21++;
      break;
         case '1':
     compteur1++;
     compteur21++;
     total += 1;
      break;
         case '2':
     compteur2++;
     compteur21++;
     total += 2;
      break;
         case '3':
     compteur3++;
     compteur21++;
     total += 3;
      break;
         case '4':
     compteur4++;
     compteur21++;
     total += 4;
      break;
         case '5':
     compteur5++;
     compteur21++;
     total += 5;
      break;
         case '6':
     compteur6++;
     compteur21++;
     total += 6;
      break;
         case '7':
     compteur7++;
     compteur21++;
     total += 7;
      break;
         case '8':
     compteur8++;
     compteur21++;
     total += 8;
      break;
         case '9':
     compteur9++;
     compteur21++;
     total += 9;
      break;
         case '10':
     compteur10++;
     compteur21++;
     total += 10;
      break;
      default:
      cout << "Note incorrect, entrer une nouvelle note:\n";
      break;
     }
   }

/* Calcul de la moyenne avec nombres définis par l'utilisateur */

    moyenne = static_cast < double > (total) / compteur21;
   cout << "Combien de chiffres après la virgule désirez-vous voir apparître?\n";
   cin >> int1;
   cout << "La moyenne est de:\n" << setprecision(int1) << setiosflags ( ios::fixed | ios::showpoint ) << moyenne << endl ;
   cout << "Il y a:\n" ;
   cout << "0: " << compteur0 << "\n" << endl ;
   cout << "1: " << compteur1 << "\n" << endl ;
   cout << "2: " << compteur2 << "\n" << endl ;
   cout << "3: " << compteur3 << "\n" << endl ;
   cout << "4: " << compteur4 << "\n" << endl ;
   cout << "5: " << compteur5 << "\n" << endl ;
   cout << "6: " << compteur6 << "\n" << endl ;
   cout << "7: " << compteur7 << "\n" << endl ;
   cout << "8: " << compteur8 << "\n" << endl ;
   cout << "9: " << compteur9 << "\n" << endl ;
   cout << "10: " << compteur10 << "\n" << endl ;
   cin >> int1;
 }

/* Moyenne avec nombres pré-définis */

  if ( int1 == 2 ) {
 cout << "Veuillez entrer la limite encadrant les nombres qui seront les termes de la moyenne:\n";
 cin >> int1;
 total = 0;

/* Calcul de la moyenne avec boucle for et incrémentation de total */

 for ( compteur21 = 0; compteur21 >= int1; total =+ int1)
  moyenne =  static_cast < double > ( total ) / int1;
   cout << "La moyenne des nombres compris entre 0 et " << int1 >> "est de: " << setprecision(2) << setiosflags ( ios::fixed | ios::showpoint ) << moyenne << endl ;
  cin >> int1;
  }
  
/* Fin tu programme */

 if ( int1 == 3 )
   return 0;

  return 0;
}

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.