Advertisement
Guest User

Untitled

a guest
Jan 19th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.14 KB | None | 0 0
  1.  
  2.  
  3.  
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9.  
  10. namespace Hondenschool
  11. {
  12.     class Hond
  13.     {
  14.         public enum Soorten
  15.         {
  16.             Labrador, Poedel, Maltezer, Dobberman
  17.         }
  18.         const int MINSESSIES = 1, MAXSESSIES = 10, DEFAULTSESSIES = 3;
  19.         const int LABRADOR = 20, POEDEL = 21, MALTEZER = 22, DOBBERMAN = 23;
  20.         const int ADMINKOST = 15;
  21.         const double KORTING10 = 0.10, KORTING5 = 0.05;
  22.         const int TIENBEURTEN = 10, VIJFBEURTEN = 5;
  23.         public String Naam { get; set; }
  24.         public Soorten Ras { get; set; }
  25.         public DateTime GeboorteDatum { get; set; }
  26.         public Persoon Eigenaar { get; set; }
  27.         private int aantalsessies;
  28.  
  29.         public int Aantalsessies
  30.         {
  31.             get { return aantalsessies; }
  32.             set
  33.             {
  34.                 if (value >= MINSESSIES && value <= MAXSESSIES )
  35.                 {
  36.                     aantalsessies = value;
  37.                 }
  38.                 else
  39.                 {
  40.                     aantalsessies = DEFAULTSESSIES;
  41.                 }
  42.             }
  43.         }
  44.  
  45.         public Hond(string naam, Soorten ras, DateTime geboorteDatum, Persoon eigenaar, int aantalsessies)
  46.         {
  47.             Naam = naam;
  48.             Ras = ras;
  49.             GeboorteDatum = geboorteDatum;
  50.             Eigenaar = eigenaar;
  51.             Aantalsessies = aantalsessies;
  52.         }
  53.         public Hond(string naam, DateTime geboorteDatum, Persoon eigenaar, int aantalsessies) :this(naam, Soorten.Labrador, geboorteDatum, eigenaar, aantalsessies)
  54.         { }
  55.  
  56.         public Hond(DateTime geboorteDatum, Persoon eigenaar, int aantalsessies) :this("Max", geboorteDatum, eigenaar, aantalsessies)
  57.         { }
  58.  
  59.  
  60.  
  61.         public int PrijsVoorKorting()
  62.         {
  63.             int prijsvoorkorting = ADMINKOST;
  64.             switch (Ras)
  65.             {
  66.                 case Soorten.Labrador:
  67.                     prijsvoorkorting += Aantalsessies * LABRADOR;
  68.                     break;
  69.                 case Soorten.Poedel:
  70.                     prijsvoorkorting += Aantalsessies * POEDEL;
  71.                     break;
  72.                 case Soorten.Maltezer:
  73.                     prijsvoorkorting += Aantalsessies * MALTEZER;
  74.                     break;
  75.                 case Soorten.Dobberman:
  76.                     prijsvoorkorting += Aantalsessies * DOBBERMAN;
  77.                     break;
  78.                 default:
  79.                     break;
  80.             }
  81.             return prijsvoorkorting;
  82.         }
  83.  
  84.         public double Korting()
  85.         {
  86.             double korting=0;
  87.             if (aantalsessies == TIENBEURTEN)
  88.             {
  89.                 korting = PrijsVoorKorting() * KORTING10;
  90.             }
  91.             else if (aantalsessies >= VIJFBEURTEN && aantalsessies <= TIENBEURTEN)
  92.             {
  93.                 korting = PrijsVoorKorting() * KORTING5;
  94.             }
  95.             return korting;
  96.         }
  97.  
  98.         public double TotalePrijs()
  99.         {
  100.             double prijs = PrijsVoorKorting() - Korting();
  101.             return prijs;
  102.         }
  103.         public int Leeftijd()
  104.         {
  105.             int leeftijd;
  106.             if (GeboorteDatum.Month < DateTime.Today.Month && GeboorteDatum.Day < DateTime.Today.Day)
  107.             {
  108.                 leeftijd = DateTime.Today.Year - GeboorteDatum.Year -1;
  109.             }
  110.             else
  111.             {
  112.                 leeftijd = DateTime.Today.Year - GeboorteDatum.Year ;
  113.             }
  114.  
  115.             return leeftijd;
  116.         }
  117.         public override string ToString()
  118.         {
  119.             string resultaat = "";
  120.             resultaat += "Eigenaar: \n" + Eigenaar + " \n";
  121.             resultaat += "Naam Hond:" + Naam+" \n";
  122.             resultaat += "Ras: " + Ras + "\n";
  123.             resultaat += "Geboorte datum Hond: " + GeboorteDatum.ToShortDateString()+" \n";
  124.             resultaat += "Leeftijd Hond: " + Leeftijd()+" \n";
  125.             resultaat += "Aantal Sessies: " + Aantalsessies+" \n";
  126.             resultaat += "Prijs: " + TotalePrijs()+" \n";
  127.             return resultaat;
  128.         }
  129.  
  130.     }
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement