主题:[原创]谁可以帮我完善一下这个程序
[em1]判断日历的:输出格式的 控制,在添加个窗体
namespace 日历
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
data a1=new data();
//a1.getdata(Convert.ToInt32(textBox1.Text),Convert.ToInt32(textBox2.Text));
//a1.getdata(int.Parse(textBox1.Text),int.Parse(textBox2.Text));
//a1.getdata(Convert.ToInt32(numericUpDown1.Value),Convert.ToInt32(textBox2.Text));
a1.getdata(Convert.ToInt32(numericUpDown1.Value),Convert.ToInt32(comboBox1.Text));
label1.Text=a1.disp();
}
private void button3_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
}
class data
{
private int []mont={0,31,28,31,30,31,30,31,31,30,31,30,31};
private string []week={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
private int year,month;
public void getdata(int y,int m)//获取要查询的年份
{
year=y;
month=m;
}
public bool ioleapyear() //判断该年是不是闰年
{
if(year%4==0&&year%100!=0||year%400==0)
return true;
else
return
false;
}
public int weekday() //判断该年该月的第一天是星期几
{
int i,days=0;
if(ioleapyear())
mont[2]=29;
for (i=0;i<month;i++)
days+=mont[i];
days=year-1+(int)(year-1)/4-(int)(year-1)/100+(int)(year-1)/400+days+1;
days=days%7;
return (days);
}
//public int monthday(int i); //该年每个月的天数
public string disp() //显示结果。
{
string s;
int j,d,k,lemp=1;
int n=weekday();
s='\t'+" "+Convert.ToString(year)+"年"+Convert.ToString(month)+"月份"+'\n';
s+="--------------------------------------------------------"+'\n';
for(j=0;j<7;j++)
s+=week[j]+" ";
s+='\n'+"--------------------------------------------------------"+'\n';
for( k=1;k<=n;k++,lemp++) //输入每月第一天的起始位置,用空格补充
s+=" ";
if(ioleapyear())
mont[2]=29;
for(d=1;d<=mont[month];d++,lemp++)
{
//s+=" "+Convert.ToString(d)+" ";
s+=String.Format("{0:D2}",d)+" ";
if(lemp==7)
{
s+='\n';
lemp=0;
}
}
s+='\n'+"--------------------------------------------------------";
return s;
}
}
}
namespace 日历
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
data a1=new data();
//a1.getdata(Convert.ToInt32(textBox1.Text),Convert.ToInt32(textBox2.Text));
//a1.getdata(int.Parse(textBox1.Text),int.Parse(textBox2.Text));
//a1.getdata(Convert.ToInt32(numericUpDown1.Value),Convert.ToInt32(textBox2.Text));
a1.getdata(Convert.ToInt32(numericUpDown1.Value),Convert.ToInt32(comboBox1.Text));
label1.Text=a1.disp();
}
private void button3_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
}
class data
{
private int []mont={0,31,28,31,30,31,30,31,31,30,31,30,31};
private string []week={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
private int year,month;
public void getdata(int y,int m)//获取要查询的年份
{
year=y;
month=m;
}
public bool ioleapyear() //判断该年是不是闰年
{
if(year%4==0&&year%100!=0||year%400==0)
return true;
else
return
false;
}
public int weekday() //判断该年该月的第一天是星期几
{
int i,days=0;
if(ioleapyear())
mont[2]=29;
for (i=0;i<month;i++)
days+=mont[i];
days=year-1+(int)(year-1)/4-(int)(year-1)/100+(int)(year-1)/400+days+1;
days=days%7;
return (days);
}
//public int monthday(int i); //该年每个月的天数
public string disp() //显示结果。
{
string s;
int j,d,k,lemp=1;
int n=weekday();
s='\t'+" "+Convert.ToString(year)+"年"+Convert.ToString(month)+"月份"+'\n';
s+="--------------------------------------------------------"+'\n';
for(j=0;j<7;j++)
s+=week[j]+" ";
s+='\n'+"--------------------------------------------------------"+'\n';
for( k=1;k<=n;k++,lemp++) //输入每月第一天的起始位置,用空格补充
s+=" ";
if(ioleapyear())
mont[2]=29;
for(d=1;d<=mont[month];d++,lemp++)
{
//s+=" "+Convert.ToString(d)+" ";
s+=String.Format("{0:D2}",d)+" ";
if(lemp==7)
{
s+='\n';
lemp=0;
}
}
s+='\n'+"--------------------------------------------------------";
return s;
}
}
}