LePetitGlacon

FICHE 8 exercice exercice 1

Jan 7th, 2020
399
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.99 KB | None | 0 0
  1. MAIN
  2. /*
  3.  * Created by SharpDevelop.
  4.  * User: gagneure
  5.  * Date: 08/01/2020
  6.  * Time: 12:08
  7.  *
  8.  * To change this template use Tools | Options | Coding | Edit Standard Headers.
  9.  */
  10. using System;
  11.  
  12. namespace projet
  13. {
  14.     class Program
  15.     {
  16.         public static void Main(string[] args)
  17.  
  18.         {
  19.  
  20.             Horaire monHoraire1;
  21.  
  22.             monHoraire1 = new Horaire(5, 15);
  23.  
  24.  
  25.  
  26.            
  27.  
  28.             string texteAAfficher = monHoraire1.versChaine();
  29.  
  30.            
  31.  
  32.             Console.WriteLine("Saississez heure puis minute");
  33.  
  34.             int h = int.Parse(Console.ReadLine());
  35.  
  36.             int m = int.Parse(Console.ReadLine());
  37.  
  38.  
  39.  
  40.             Horaire monHoraire2 = new Horaire(h, m);
  41.  
  42.             Console.WriteLine(monHoraire2.versChaine());
  43.  
  44.            
  45.  
  46.             //Etape 2 : Test de la méthode "Egal"
  47.             // A vous d'écrire le code qu'il faut pour vérifier que la méthode fonctionne
  48.            
  49.            
  50.             if (monHoraire2.Egal(monHoraire1) == false)
  51.             {
  52.                 Console.WriteLine("Les horaires ne sont pas égales");
  53.             }
  54.             else
  55.             {
  56.                 Console.WriteLine("Les horaires sont égales");
  57.             }
  58.            
  59.            
  60.            
  61.             //Etape 3 : Test de la méthode "ConversionEnSeconde".
  62.             // A vous décrire le code qu'il faut pour vérifier que la méthode de conversion en seconde marche
  63.            
  64.             int secondeHoraire1 = monHoraire1.ConversionEnSeconde();
  65.             Console.WriteLine("L'horaire 1 vaut {0} secondes",secondeHoraire1);
  66.             int secondeHoraire2 = monHoraire2.ConversionEnSeconde();
  67.             Console.WriteLine("L'horaire 2 vaut {0} secondes\n",secondeHoraire2);
  68.            
  69.             //Etape 4 : Ecriture de la méthode "Différence"
  70.             // Complétez le test!
  71.            
  72.            
  73.             Console.WriteLine("Etape 4 : différence {0}",monHoraire1.Différence(monHoraire2));
  74.  
  75.             //Etape 5 : Ecriture de la méthode "AjouterTemps"
  76.             //Complétez le test!
  77.            
  78.            
  79.             Horaire monHoraire5 = new Horaire(10, 0);
  80.            
  81.             monHoraire5.AjouterTemps(monHoraire1);
  82.             Console.WriteLine("Etape 5 : AjouterTemps 1 {0}", monHoraire5.versChaine());
  83.             monHoraire5.AjouterTemps(monHoraire2);
  84.             Console.WriteLine("Etape 5 : AjouterTemps 2 {0}", monHoraire5.versChaine());
  85.            
  86.  
  87.             Console.ReadKey(true);
  88.  
  89.  
  90.         }
  91.     }
  92. }
  93.  
  94. ----------------------------------------------------------------------------
  95. CLASS
  96. /*
  97.  * Created by SharpDevelop.
  98.  * User: gagneure
  99.  * Date: 08/01/2020
  100.  * Time: 12:08
  101.  *
  102.  * To change this template use Tools | Options | Coding | Edit Standard Headers.
  103.  */
  104. using System;
  105.  
  106. namespace projet
  107. {
  108.  
  109.  
  110. class Horaire
  111. {
  112.  
  113.     private int heure;
  114.     private int minute;
  115.     private int seconde;
  116.  
  117.     public Horaire(int H, int M)
  118.     {
  119.         if (H < 0 || H >= 24)
  120.         {
  121.             Console.WriteLine("H compris entre 0 et 23 ");
  122.             System.Environment.Exit(0);
  123.         }
  124.  
  125.         if (M < 0 || M >= 60)
  126.         {
  127.             Console.WriteLine("M compris entre 0 et 60");
  128.             System.Environment.Exit(0);
  129.         }
  130.  
  131.         heure = H;
  132.         minute = M;
  133.         seconde = 0;
  134.  
  135.     }
  136.  
  137.    
  138.  
  139.     /// <summary>
  140.  
  141.     /// permet de calculer chaque variable d'instance à partir du nombre total de secondes passé en paramètre.
  142.  
  143.     /// </summary>
  144.  
  145.     /// <param name="NbSec">Nombre de secondes à convertir</param>
  146.  
  147.     public void Conversion (int NbSec)
  148.  
  149.     {
  150.  
  151.         heure = NbSec / 3600;
  152.         minute = NbSec % 3600 / 60;
  153.         seconde = NbSec % 60 ;
  154.  
  155.     }
  156.  
  157.  
  158.  
  159.     /// <summary>
  160.  
  161.     ///  permet de connaître le nombre total de secondes à partir des valeurs des variables d'instance.
  162.  
  163.     /// </summary>
  164.  
  165.     /// <returns>Nombre de secondes de l'heure</returns>
  166.  
  167.     public int ConversionEnSeconde ()
  168.  
  169.     {
  170.  
  171.         return heure * 3600 + minute * 60 + seconde;
  172.  
  173.     }
  174.  
  175.    
  176.  
  177.     /// <summary>
  178.  
  179.     /// Teste l'égalité entre 2 objets de classe Horaire
  180.  
  181.     /// </summary>
  182.  
  183.     /// <param name="hAComparer"></param>
  184.  
  185.     /// <returns></returns>
  186.  
  187.     public bool Egal (Horaire hAComparer)
  188.  
  189.     {
  190.         if(heure != hAComparer.heure)
  191.         {
  192.             return false;
  193.         }
  194.        
  195.         if(minute != hAComparer.minute)
  196.         {
  197.             return false;
  198.         }
  199.        
  200.         if(seconde != hAComparer.seconde)
  201.         {
  202.             return false;
  203.         }
  204.         return true;
  205.  
  206.     }
  207.  
  208.    
  209.  
  210.      /// <summary>
  211.  
  212.      /// Renvoie la différence entre 2 objets Horaire en secondes
  213.  
  214.      /// </summary>
  215.  
  216.      /// <param name="hASoustraire"></param>
  217.  
  218.      /// <returns></returns>
  219.  
  220.     public int Différence(Horaire hASoustraire)
  221.  
  222.      {
  223.         int horaire1 = this.ConversionEnSeconde();
  224.         int horaire2 = hASoustraire.ConversionEnSeconde();
  225.         int difference = horaire1 - horaire2;
  226.        
  227.        
  228.        
  229.         return difference;
  230.        
  231.      }
  232.  
  233.    
  234.  
  235.     /// <summary>
  236.  
  237.     /// Ajoute un objet de type Durée à un autre en faisant la somme des 2 totaux de secondes
  238.  
  239.     /// </summary>
  240.  
  241.     /// <param name="hAAdditionner"></param>
  242.  
  243.     public void AjouterTemps(Horaire hAAdditionner)
  244.  
  245.     {
  246.         int horaire1 = this.ConversionEnSeconde();
  247.         int horaire2 = hAAdditionner.ConversionEnSeconde();
  248.         int somme = horaire1 + horaire2;
  249.        
  250.         this.Conversion(somme);
  251.        
  252.        
  253.     }
  254.  
  255.  
  256.  
  257.     /// <summary>
  258.  
  259.     /// Renvoie la chaîne permettant de définir textuellement la valeur d'un objet Durée
  260.  
  261.     /// Ex : 2 heures 4 minutes 30 secondes
  262.  
  263.     /// </summary>
  264.  
  265.     /// <returns></returns>
  266.  
  267.     public string versChaine()
  268.  
  269.     {
  270.        
  271.         return heure + " heures " + minute + " minutes " + seconde + " secondes";
  272.  
  273.     }
  274.  
  275. }
  276. }
Advertisement
Add Comment
Please, Sign In to add comment