ツェラーの公式を使い、TEXTBOXに記入した日の曜日を表示させようとしています。
現在作っているものだと2000年代は正しく表示されるのですが、それ以前は間違った曜日が表示されてしまいます。
例)1894年2月2日金曜日が月曜日と表示される。
おかしな部分があればご指摘お願いいたします。
今回はVisual Studio2019でWindows フォーム アプリケーション(.NET Framework)で作成しています。
現在書いているものから大きく変えずに作りたいので、ツェラーの公式をつかったものでお願いいたします。
C#
1コード 2```public partial class Form1 : Form 3 { 4 public Form1() 5 { 6 InitializeComponent(); 7 } 8 9 private void button1_Click(object sender, EventArgs e) 10 { 11 Hizuke y = new Hizuke(); 12 int f = y.tosi(textBox1.Text,textBox2.Text,textBox3.Text); 13 14 if (f == 0) 15 label1.Text = "日曜日"; 16 if (f == 1) 17 label1.Text = "月曜日"; 18 if (f == 2) 19 label1.Text = "火曜日"; 20 if (f == 3) 21 label1.Text = "水曜日"; 22 if (f == 4) 23 label1.Text = "木曜日"; 24 if (f == 5) 25 label1.Text = "金曜日"; 26 if (f == 6) 27 label1.Text = "土曜日"; 28 } 29 } 30 class Hizuke 31 { 32 public int tosi (String a,String b,String c) 33 { 34 int e; 35 36 int y = int.Parse(a);//年 37 int m = int.Parse(b);//月 38 int d = int.Parse(c);//日 39 40 if (m <= 2) 41 { 42 m += 12; 43 y -= 1; 44 } 45 46 e = (5 * y / 4 - y / 100 + y / 400 + (13 * m + 8) / 5 + d) % 7; 47 return (e) ; 48 } 49 } 50 51}
回答1件
あなたの回答
tips
プレビュー