编写一个C#窗体程序,接受用户输入的一个1~12之间的整数(如果输入的数据不满足这个条件,则要求用户重新输人),利用switch语句输出对应月份的天数。并输入注释
时间: 2024-02-11 17:08:53 浏览: 92
好的,这是一个简单的C#窗体程序,它可以接受用户输入的一个1~12之间的整数,然后利用switch语句输出对应月份的天数。以下是代码实现:
```csharp
using System;
using System.Windows.Forms;
namespace MonthDays
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnCalculate_Click(object sender, EventArgs e)
{
int month = 0; // 存储用户输入的月份
// 获取用户输入的月份
if (!int.TryParse(txtMonth.Text, out month) || month < 1 || month > 12)
{
MessageBox.Show("请输入1~12之间的整数!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
// 利用switch语句输出对应月份的天数
int days = 0; // 存储天数
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
days = IsLeapYear() ? 29 : 28;
break;
}
// 输出结果
MessageBox.Show($"{month}月有{days}天。", "结果", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
// 判断是否为闰年
private bool IsLeapYear()
{
int year = DateTime.Now.Year; // 获取当前年份
return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}
}
}
```
在表单窗口中,我们需要有一个文本框用于输入月份,一个按钮用于计算天数。用户输入月份后,我们使用TryParse方法将其转换为一个整数,然后检查其是否在1~12之间。如果输入的月份不满足这个条件,我们将弹出一个消息框提示用户重新输入。否则,我们将利用switch语句根据输入的月份计算天数,并将结果输出到另一个消息框中。在这个程序中,我们还添加了一个方法来判断当前年份是否为闰年,从而计算二月的天数。
阅读全文