Coverage Summary for Class: Numero_A (io.github.lyes_sefiane)

Class Class, % Method, % Branch, % Line, %
Numero_A 0% (0/1) 0% (0/6) 0% (0/20) 0% (0/48)


 package io.github.lyes_sefiane;
 
 
 /**
  * Matricule UdeM : 20090833
  * @author Lyes SEFIANE
  * IFT 1170
  * Session : Hiver 2017
  * Java et applications
  * lyes.sefiane@umontreal.ca
  * lyes.sefiane@gmail.com
  */
 
 public class Numero_A {
     /**
      * Permet de compter et retourner
      * le nombre d'occurence d'un element
      * dans un tableau.
      */
     public static int compter(char car, char[] poste, int[] nbCafe, int nbEmp) {
         int n =0;
         for (int i = 0; i < nbEmp; i++){
             if (poste[i] == car)
                 n++;
         }
         return n;
     }
 
     /**
      * Permet de calculer la plus grande valeur d'un tableau
      */
     public static int consoMax(char[] poste, int[] nbCafe, int nbEmp) {
         int maxCafe = Integer.MIN_VALUE;
         for (int i = 0 ; i < nbEmp ; i++) {
 
             if ( nbCafe[i] > maxCafe )
                 maxCafe = nbCafe[i];
         }
         return maxCafe;
     }
 
     /**
      * Permet de calculer la plus petite valeur
      * d'un tableau, parmi un groupe précis .
      * Exemple : La consommation minimale de cafe des programmeurs
      */
     public static int consoMin(char car, char[] poste, int[] nbCafe, int nbEmp) {
         int minCafe = Integer.MAX_VALUE;
 
         for( int i = 0; i < nbEmp; i++){
             if ( poste[i] == car ){
                 if (nbCafe[i] < minCafe)
                     minCafe = nbCafe[i];
             }
         }
         return minCafe;
     }
 
     /**
      * Permet de calculer une moyenne d'un groupe.
      * Exemple : La consommation moyenne des Analystes
      */
     public static void consoMoy(char car, char[] poste, int[] nbCafe,
                                 int nbEmp, int nbConsomateur) {
         double moyenne = 0; double sommeCafeCar = 0;
 
         if (nbConsomateur == 0){
             System.out.printf(" Le poste de travail '%c' existe pas ", car);
         }
         else {
             for (int i = 0; i < nbEmp; i++){
                 if(poste[i] == car)
                     sommeCafeCar = sommeCafeCar + nbCafe[i];
             }
 
             /* -0.5 pour la division */
             moyenne = sommeCafeCar / nbConsomateur;
             System.out.printf(" %.1f\n", moyenne);
         }
 
     }
 
     public static void main(String[] args) {
         char [] poste = {'P', 'P', 'O', 'A', 'P', 'A', 'A', 'P'};
         int [] nbCafe = {2, 1, 4, 0, 5, 2, 3, 1};
         int nbEmp = poste.length;
         int  nbProgrammeurs, nbAnalystes, nbOperateurs;
 
         System.out.println("\t\t----------------------------");
         System.out.println("\t\t- Exercice numéro A du TP1 -");
         System.out.println("\t\t----------------------------");
 
         nbProgrammeurs = compter ('P',poste, nbCafe, nbEmp);
         System.out.printf(" - Il y a %s Programmeur(s) \n", nbProgrammeurs );
 
         nbAnalystes = compter('A',poste, nbCafe, nbEmp);
         System.out.printf(" - Il y a %s Analyste(s) \n", nbAnalystes);
 
         nbOperateurs = compter('O',poste, nbCafe, nbEmp);
         System.out.printf(" - Il y a %s Operateur(s) \n", nbOperateurs);
 
         System.out.printf(" - La consommation maximale de cafe "
                         + "de tous ces employes est : %s\n ",
                 consoMax(poste,nbCafe, nbEmp) );
 
         System.out.printf("- La consommation minimale de cafe "
                         + "des programmeurs est : %s \n",
                 consoMin('P',poste,nbCafe, nbEmp) );
 
         System.out.printf(" - La consommation moyenne des Analystes est   :");
         consoMoy('A',poste,nbCafe, nbEmp, nbAnalystes);
 
         System.out.printf(" - La consommation moyenne des Opérateurs est  :");
         consoMoy('O',poste,nbCafe, nbEmp, nbOperateurs);
 
         System.out.printf(" - La consommation moyenne des Secretaires est :");
         // On calcul le nombre de secretaire
         // - 0.5 (je ne comprends pas son argumentation)
         // Bien que cela fonctionne
         int nbSecretaire = compter('S',poste, nbCafe, nbEmp);
         consoMoy('S',poste,nbCafe, nbEmp, nbSecretaire);
     }
 }
 
 /*
 		----------------------------
 		- Exercice numéro A du TP1 -
 		----------------------------
  - Il y a 4 Programmeur(s)
  - Il y a 3 Analyste(s)
  - Il y a 1 Operateur(s)
  - La consommation maximale de cafe de tous ces employes est : 5
  - La consommation minimale de cafe des programmeurs est : 1
  - La consommation moyenne des Analystes est   : 1,7
  - La consommation moyenne des Opérateurs est  : 4,0
  - La consommation moyenne des Secretaires est : Le poste de travail 'S' existe pas
 */