Guest User

Untitled

a guest
Oct 19th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.18 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace Prüfung_SS_11
  7. {
  8. class Datum
  9. {
  10. private int Tag, Monat;
  11.  
  12. public Datum(int Tag, int Monat)
  13. {
  14. if (Tag >= 1 && Tag <= 31 && Monat >= 1 && Monat <= 12)
  15. {
  16. this.Tag = Tag;
  17. this.Monat = Monat;
  18. }
  19. else if (Tag > 31 || Tag < 1)
  20. {
  21. throw new DatumException("Fehler bei Datumseingabe (Tag) !", Tag, Monat);
  22. }
  23. else if (Monat > 12 || Monat < 1)
  24. {
  25. throw new DatumException("Fehler bei Datimseingabe (Monat) !", Tag, Monat);
  26. }
  27. else
  28. {
  29. throw new MesswertException("Allg. Fehler bei Messwet (Datum) !");
  30. }
  31. }
  32.  
  33. public static bool operator ==(Datum D_1, Datum D_2)
  34. {
  35. if (D_1.Tag == D_2.Tag && D_1.Monat == D_2.Monat)
  36. return true;
  37. else
  38. return false;
  39. }
  40. public static bool operator !=(Datum D_1, Datum D_2)
  41. {
  42. if (D_1.Tag != D_2.Tag && D_1.Monat != D_2.Monat)
  43. return true;
  44. else
  45. return false;
  46. }
  47. }
  48. class Messwert
  49. {
  50. private double dWert;
  51. private Datum Datumsangabe;
  52.  
  53. public Messwert(double Wert, Datum Datum_der_Messung)
  54. {
  55. this.dWert = Wert;
  56. this.Datumsangabe = Datum_der_Messung;
  57. }
  58.  
  59. public static bool operator <(Messwert m1, Messwert m2)
  60. {
  61. if (m1.Datumsangabe == m2.Datumsangabe)
  62. {
  63. if (m1.dWert < m2.dWert)
  64. return true;
  65. else
  66. return false;
  67. }
  68. else
  69. throw new VergleichException("Fehler beim Vergleichen von zewi Messerten!", m1.Datumsangabe, m2.Datumsangabe);
  70. }
  71.  
  72. public static bool operator >(Messwert m1, Messwert m2)
  73. {
  74. if (m1.Datumsangabe == m2.Datumsangabe)
  75. {
  76. if (m1.dWert < m2.dWert)
  77. return true;
  78. else
  79. return false;
  80. }
  81. else
  82. throw new VergleichException("Fehler beim Vergleichen von zewi Messerten!", m1.Datumsangabe, m2.Datumsangabe);
  83. }
  84. }
  85.  
  86. class MesswertException : Exception
  87. {
  88. public MesswertException(string Fehlermeldung)
  89. {
  90. Console.WriteLine("Fehler bei Messwert!\nFehlermeldung: " + Fehlermeldung);
  91. }
  92. }
  93. class VergleichException : MesswertException
  94. {
  95. private Datum D1, D2;
  96. public VergleichException(string Fehlermeldung, Datum d1, Datum d2) : base(Fehlermeldung)
  97. {
  98. this.D1 = d1;
  99. this.D2 = d2;
  100. }
  101. }
  102. class DatumException : MesswertException
  103. {
  104. private int Tag, Monat;
  105. public DatumException(string Fehlermeldung, int Tag, int Monat) : base(Fehlermeldung)
  106. {
  107. this.Tag = Tag;
  108. this.Monat = Monat;
  109. }
  110. }
  111.  
  112. class Program
  113. {
  114. static void Main(string[] args)
  115. {
  116. try
  117. {
  118.  
  119. Messwert m1 = new Messwert(12.5, new Datum(1, 1));
  120. Messwert m2 = new Messwert(12.5, new Datum(2, 1));
  121.  
  122. if (m1 < m2)
  123. {
  124. Console.WriteLine("m1 < m2");
  125. }
  126. else
  127. Console.WriteLine("m1 > m2");
  128.  
  129. Messwert m3 = new Messwert(12.5, new Datum(0, 1));
  130.  
  131. }
  132. catch (VergleichException e)
  133. {
  134. Console.WriteLine("catch des Verlgeichs\n" + e);
  135. }
  136.  
  137. catch (DatumException e)
  138. {
  139. Console.WriteLine("catch des Datums\n" + e);
  140. }
  141.  
  142. catch (MesswertException e)
  143. {
  144. Console.WriteLine("catch des Messwerts\n" + e);
  145. }
  146.  
  147. Console.WriteLine("\n\n\n");
  148.  
  149. }
  150. }
  151. }
Add Comment
Please, Sign In to add comment