C# :: Aufgabe #50 :: Lösung #2
8 Lösungen

#50
Zeit zwischen zweier Tage
Anfänger - C#
von Dome
- 10.03.2013 um 23:50 Uhr
Erstellen Sie ein Programm, mit dem man die Zeitdifferenz zwischen zwei Tagen bestimmen kann. Hierzu muss man beide Tage eingeben und das Programm gibt die Zeitdifferenz aus.
Je nach Schwierigkeitsgrad:
Eingabe der Daten per Konsole oder GUI, eine Art Dropdown-Menü oder ähnliches
Ausgabe der Differenz in mehreren "Zeitformen", Tage, Monate, Jahre, Minuten, Stunden
Eingabe von Uhrzeiten, die jeweils in die Berechnung einfließen
Je nach Schwierigkeitsgrad:
Eingabe der Daten per Konsole oder GUI, eine Art Dropdown-Menü oder ähnliches
Ausgabe der Differenz in mehreren "Zeitformen", Tage, Monate, Jahre, Minuten, Stunden
Eingabe von Uhrzeiten, die jeweils in die Berechnung einfließen
#2

von wladi-g (1310 Punkte)
- 23.06.2014 um 14:01 Uhr

using System; using System.Windows.Forms; namespace Zeitdifferenz { public partial class Form1 : Form { public Form1() { InitializeComponent(); zeitformen.Items.Add("Tage"); zeitformen.Items.Add("Monate"); zeitformen.Items.Add("Jahre"); zeitformen.Items.Add("Stunden"); zeitformen.Items.Add("Minuten"); zeitformen.SelectedItem = "Tage"; } private void zeitformen_SelectedIndexChanged(object sender, EventArgs e) { if (zeitformen.SelectedItem.ToString() == "Stunden" || zeitformen.SelectedItem.ToString() == "Minuten") { datumVon.Format = DateTimePickerFormat.Time; datumBis.Format = DateTimePickerFormat.Time; } else { datumVon.Format = DateTimePickerFormat.Long; datumBis.Format = DateTimePickerFormat.Long; } } private void berechnen_Click(object sender, EventArgs e) { if (datumVon.Value.CompareTo(datumBis.Value) <= 0) switch (zeitformen.SelectedItem.ToString()) { case "Tage": differenz.Text = Convert.ToInt32(datumBis.Value.Subtract(datumVon.Value).TotalDays).ToString(); break; case "Monate": int month = 0; DateTime temp = datumVon.Value; while (temp.CompareTo(datumBis.Value) < 0) { month++; temp = temp.AddMonths(1); } if (month != 0) month--; differenz.Text = month.ToString(); break; case "Jahre": differenz.Text = (datumBis.Value.Year - datumVon.Value.Year).ToString(); break; case "Stunden": differenz.Text = Convert.ToInt32(datumBis.Value.Subtract(datumVon.Value).TotalHours).ToString(); break; case "Minuten": differenz.Text = Convert.ToInt32(datumBis.Value.Subtract(datumVon.Value).TotalMinutes).ToString(); break; default: MessageBox.Show("Keine gültige Zeitform gewählt"); break; } else MessageBox.Show("Von Datum liegt nach Bis Datum."); } private void abbrechen_Click(object sender, EventArgs e) { System.Environment.Exit(0); } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1