Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Prüfung_SS_11
- {
- class Datum
- {
- private int Tag, Monat;
- public Datum(int Tag, int Monat)
- {
- if (Tag >= 1 && Tag <= 31 && Monat >= 1 && Monat <= 12)
- {
- this.Tag = Tag;
- this.Monat = Monat;
- }
- else if (Tag > 31 || Tag < 1)
- {
- throw new DatumException("Fehler bei Datumseingabe (Tag) !", Tag, Monat);
- }
- else if (Monat > 12 || Monat < 1)
- {
- throw new DatumException("Fehler bei Datimseingabe (Monat) !", Tag, Monat);
- }
- else
- {
- throw new MesswertException("Allg. Fehler bei Messwet (Datum) !");
- }
- }
- public static bool operator ==(Datum D_1, Datum D_2)
- {
- if (D_1.Tag == D_2.Tag && D_1.Monat == D_2.Monat)
- return true;
- else
- return false;
- }
- public static bool operator !=(Datum D_1, Datum D_2)
- {
- if (D_1.Tag != D_2.Tag && D_1.Monat != D_2.Monat)
- return true;
- else
- return false;
- }
- }
- class Messwert
- {
- private double dWert;
- private Datum Datumsangabe;
- public Messwert(double Wert, Datum Datum_der_Messung)
- {
- this.dWert = Wert;
- this.Datumsangabe = Datum_der_Messung;
- }
- public static bool operator <(Messwert m1, Messwert m2)
- {
- if (m1.Datumsangabe == m2.Datumsangabe)
- {
- if (m1.dWert < m2.dWert)
- return true;
- else
- return false;
- }
- else
- throw new VergleichException("Fehler beim Vergleichen von zewi Messerten!", m1.Datumsangabe, m2.Datumsangabe);
- }
- public static bool operator >(Messwert m1, Messwert m2)
- {
- if (m1.Datumsangabe == m2.Datumsangabe)
- {
- if (m1.dWert < m2.dWert)
- return true;
- else
- return false;
- }
- else
- throw new VergleichException("Fehler beim Vergleichen von zewi Messerten!", m1.Datumsangabe, m2.Datumsangabe);
- }
- }
- class MesswertException : Exception
- {
- public MesswertException(string Fehlermeldung)
- {
- Console.WriteLine("Fehler bei Messwert!\nFehlermeldung: " + Fehlermeldung);
- }
- }
- class VergleichException : MesswertException
- {
- private Datum D1, D2;
- public VergleichException(string Fehlermeldung, Datum d1, Datum d2) : base(Fehlermeldung)
- {
- this.D1 = d1;
- this.D2 = d2;
- }
- }
- class DatumException : MesswertException
- {
- private int Tag, Monat;
- public DatumException(string Fehlermeldung, int Tag, int Monat) : base(Fehlermeldung)
- {
- this.Tag = Tag;
- this.Monat = Monat;
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- try
- {
- Messwert m1 = new Messwert(12.5, new Datum(1, 1));
- Messwert m2 = new Messwert(12.5, new Datum(2, 1));
- if (m1 < m2)
- {
- Console.WriteLine("m1 < m2");
- }
- else
- Console.WriteLine("m1 > m2");
- Messwert m3 = new Messwert(12.5, new Datum(0, 1));
- }
- catch (VergleichException e)
- {
- Console.WriteLine("catch des Verlgeichs\n" + e);
- }
- catch (DatumException e)
- {
- Console.WriteLine("catch des Datums\n" + e);
- }
- catch (MesswertException e)
- {
- Console.WriteLine("catch des Messwerts\n" + e);
- }
- Console.WriteLine("\n\n\n");
- }
- }
- }
Add Comment
Please, Sign In to add comment