/* ------------------------------------------------------------------------------------ *\
Wochentag.cs
Bestimmt zu einem vom Benutzer eingegebenen Datum den Wochentag
\* ------------------------------------------------------------------------------------ */
public class Wochentag
{
static void Main(string[] args)
{
int w_tag, tag, monat, jahr;
String eingabe;
Console.WriteLine("Bestimmung des Wochentags aus dem Datum");
Console.Write("Tag (xx) : ");
eingabe = Console.ReadLine();
tag = Convert.ToInt32(eingabe);
Console.Write("Monat (xx) : ");
eingabe = Console.ReadLine();
monat = Convert.ToInt32(eingabe);
Console.Write("Jahr (xxxx) : ");
eingabe = Console.ReadLine();
jahr = Convert.ToInt32(eingabe);
int h = monat, k = jahr ;
if (monat < 3)
{
h = monat + 12 ;
k = jahr-1 ;
}
w_tag = (tag+2*h + (3*h+3)/5 + k + k/4 - k/100 + k/400 + 1)%7 ;
if (w_tag==0)
Console.WriteLine("Sonntag");
else if (w_tag==1)
Console.WriteLine("Montag");
else if (w_tag==2)
Console.WriteLine("Dienstag");
else if (w_tag==3)
Console.WriteLine("Mittwoch");
else if (w_tag==4)
Console.WriteLine("Donnerstag");
else if (w_tag==5)
Console.WriteLine("Freitag");
else if (w_tag==6)
Console.WriteLine("Samstag");
} // end main
} // end class
Die Mehrfachverzweigung kann statt mit else if auch mit
switch realisiert werden.
public class Wochentag2
{
static void Main(string[] args)
{
int w_tag;
Console.WriteLine("Bestimmung des Wochentags aus dem Datum");
Console.Write("Tag (xx) : ");
eingabe = Console.ReadLine();
tag = Convert.ToInt32(eingabe);
Console.Write("Monat (xx) : ");
eingabe = Console.ReadLine();
monat = Convert.ToInt32(eingabe);
Console.Write("Jahr (xxxx) : ");
eingabe = Console.ReadLine();
jahr = Convert.ToInt32(eingabe);
int h = monat, k = jahr ;
if (monat < 3)
{
h = monat + 12 ;
k = jahr-1 ;
}
w_tag = (tag+2*h + (3*h+3)/5 + k + k/4 - k/100 + k/400 + 1)%7 ;
switch (w_tag)
{
case 0 : Console.WriteLine("Sonntag");
break;
case 1 : Console.WriteLine("Montag");
break;
case 4 : Console.WriteLine("Donnerstag");
break;
case 2 : Console.WriteLine("Dienstag");
break;
case 5 : Console.WriteLine("Freitag");
break;
case 3 : Console.WriteLine("Mittwoch");
break;
case 6 : Console.WriteLine("Samstag");
break;
default: Console.WriteLine("gibts nicht");
} // end switch
} // end main
} // end class