C# :: Aufgabe #59
7 Lösungen

Das genaue Alter ermitteln
Anfänger - C#
von matzevpl
- 08.08.2014 um 11:57 Uhr
Aufgabe ist, mit Hilfe einer GUI das Alter zum ermitteln.
Das Geburtsdatum kann in einem DateTimePicker ausgewählt werden.
Sollte das heutige Datum der Geburtstag sein, soll eine MessageBox ausgegeben werden mit "Herzlichen Glückwunsch zum (so alt wie die Person wird). Geburtstag"
Das Geburtsdatum kann in einem DateTimePicker ausgewählt werden.
Sollte das heutige Datum der Geburtstag sein, soll eine MessageBox ausgegeben werden mit "Herzlichen Glückwunsch zum (so alt wie die Person wird). Geburtstag"
Lösungen:

DateTime lOBirthday = dtpBirthday.Value; int liYears = DateTime.Now.Year - lOBirthday.Year; if (lOBirthday > DateTime.Now) MessageBox.Show("Bitte gültiges Datum eingeben."); else { lOBirthday = lOBirthday.AddYears(liYears); var lOTest = DateTime.Now.CompareTo(lOBirthday); if (DateTime.Now.CompareTo(lOBirthday) < 0) liYears--; if (DateTime.Now.Day == lOBirthday.Day && lOBirthday.Month == DateTime.Now.Month) { if (liYears == 0) MessageBox.Show("Herzlichen Glückwunsch zur Geburt."); else MessageBox.Show("Herzlichen Glückwunsch zum " + liYears + ". Geburtstag"); } lblAge.Text = liYears.ToString(); }

using System; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { DateTime datum = Convert.ToDateTime(dateTimePicker1.Text); int alt = DateTime.Now.Year - datum.Year; if (datum.Month > DateTime.Now.Month) alt -= 1; if (datum.Month == DateTime.Now.Month && datum.Day > DateTime.Now.Day) alt -= 1; alter.Text = alt.ToString(); if (datum.Month == DateTime.Now.Month && datum.Day == DateTime.Now.Day) MessageBox.Show("Herzlichen Glückwunsch zum " + alter.Text + ". Geburtstag" ); } } }

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Altersrechner { public partial class Form1 : Form { DateTime Zero = new DateTime(1, 1, 1); public Form1() { InitializeComponent(); } private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { TimeSpan TimeDiv = DateTime.Now.Subtract(dateTimePicker1.Value); int years = (Zero + TimeDiv).Year - 1; int days = (Zero + TimeDiv).Day - 1; int months = (Zero + TimeDiv).Month - 1; textBox1.Text = Convert.ToString(years); if (months == 0 && days == 0) { MessageBox.Show("Herzlichen Glückwunsch zum "+ years+ ". Geburtstag", "GZ"); } } } }

namespace AlterErmitteln { public partial class Form1 : Form { public Form1() { InitializeComponent(); string HeutigesDatum = DateTime.Now.DayOfWeek + "," + DateTime.Now.Day + "." + DateTime.Now.Month + "." + DateTime.Now.Year; lblDateTime.Text += HeutigesDatum; } private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { } private void btnAuswerten_Click(object sender, EventArgs e) { DateTime datum = dateTimePicker1.Value; int alt = DateTime.Today.Year - datum.Year; int nYear = datum.Year; int nMonth = datum.Month; int nDay = datum.Day; DateTime ndatum = new DateTime(nYear, nMonth, nDay); DateTime aktuelldatum = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); if (datum.Month > DateTime.Now.Month) alt = alt - 1; if (datum.Month == DateTime.Today.Month && datum.Day > DateTime.Today.Day) alt = alt - 1; string alter = alt.ToString(); //Geburtstag Heute if (datum.Month == DateTime.Today.Month && datum.Day == DateTime.Today.Day && datum.Year == DateTime.Today.Year) { MessageBox.Show("Herzlichen Glückwunsch zu ihrer Geburt! "); } else if (datum.Month == DateTime.Today.Month && datum.Day == DateTime.Today.Day) MessageBox.Show("Herzlichen Glückwunsch zum " + alter + ". Geburtstag !! "); else { if (aktuelldatum != ndatum) { //Geburtstag in der Zukunft? if (datum.Month >= DateTime.Today.Month && datum.Day >= DateTime.Today.Day && datum.Year >= DateTime.Today.Year) { MessageBox.Show("Bitte Sie kein zukünftiges Geburtsdatum ein!"); } else { alt = alt - 1; MessageBox.Show("Sie sind " + alter + " Jahre alt! "); } } } } private void lblDateTime_Click(object sender, EventArgs e) { } } }

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace TrainYourProgrammer59 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { String heute = DateTime.Today.ToString(); heute = heute.Remove(11); String heuteTag = heute.Remove(5); String heuteJahr = heute.Remove(0, 6); String geburtstag = dateTimePicker1.Value.ToString(); geburtstag = geburtstag.Remove(11); String geburtstagTag = geburtstag.Remove(5); String geburtstagJahr = geburtstag.Remove(0, 6); if (geburtstagTag == heuteTag) { int alter = Convert.ToInt32(heuteJahr) - Convert.ToInt32(geburtstagJahr); MessageBox.Show(String.Format("Herzlichen Glückwunsch zum {0}. Geburtstag!", alter)); } } } }

private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { int alter = 0; long a, b; a = dateTimePicker1.Value.Ticks; b = DateTime.Now.Ticks; TimeSpan zeit = new TimeSpan(b - a); alter = Convert.ToInt32(zeit.TotalDays / 365); label2.Text = "Sie sind " + Convert.ToString(alter) + " Jahre alt."; }

private void button1_Click(object sender, EventArgs e) { //Ablauf der Überprüfung bei Betätigung des Buttons int day = dateTimePicker1.Value.Day; int month = dateTimePicker1.Value.Month; label1.Text = "Sie sind " + getAge(dateTimePicker1.Value) + " Jahre alt."; //Wenn Person Geburtstag hat, wird Meldung angezeigt if(day == DateTime.Now.Day && month == DateTime.Now.Month) { MessageBox.Show("Alles Gute zu Ihrem " + getAge(dateTimePicker1.Value) + " Geburtstag!", "Meldung"); } } //Methode zum Feststellen des Alters public static int getAge(DateTime birthday) { int alter = DateTime.Now.Year - birthday.Year; birthday = birthday.AddYears(alter); if (DateTime.Now.CompareTo(birthday) < 0 ) { alter--; } return alter; }