int day,month,year;
Console.WriteLine("请输入年月日:");
string mStrDt=Console.ReadLine(); 
DateTime mDt=Convert.ToDateTime(mStrDt);
year=mDt.Year;
month=mDt.Month;
day=mDt.Day;

解决方案 »

  1.   

    又一问题
    switch(month)
    {
    case 1:sum=0;break;
    case 2:sum=31;break;
    case 3:sum=59;break;
    case 4:sum=90;break; 
                                       case 5:sum=120;break; 
      case 6:sum=151;break; 
      case 7:sum=181;break; 
      case 8:sum=212;break; 
      case 9:sum=243;break; 
      case 10:sum=273;break; 
      case 11:sum=304;break; 
      case 12:sum=334;break; 
      default:Console.WriteLine("data error");break;
    }
    sum=sum~~~~这里+day;编译出错,说使用了未赋值的局部变量“sum”,和C语言里的不一样啊,怎么改?
      

  2.   

    using System;
    namespace Project1
    {
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    public class Class1
    {
    static void Main()
    {
    int day,month,year,sum,leap;
    Console.WriteLine("请输入年月日:");
    string mStrDt=Console.ReadLine(); 
    DateTime mDt=Convert.ToDateTime(mStrDt);
    year=mDt.Year;
    month=mDt.Month;
    day=mDt.Day;            Console.WriteLine("输入的时间为{0}年{1}月{2}日",year,month,day);
    switch(month)
    {
    case 1:sum=0;break;
    case 2:sum=31;break;
    case 3:sum=59;break;
    case 4:sum=90;break; 
                   case 5:sum=120;break; 
      case 6:sum=151;break; 
      case 7:sum=181;break; 
      case 8:sum=212;break; 
      case 9:sum=243;break; 
      case 10:sum=273;break; 
      case 11:sum=304;break; 
      case 12:sum=334;break; 
      default:Console.WriteLine("data error");break;
    }
    sum=sum+day;
    if(year%400==0||(year%4==0&&year%100!=0))
    {
     leap=1;
    }
    else
    leap=0;
    if(leap==1&&month>2)
    sum++;
    Console.WriteLine("这是一年中的第{0}天",sum);

    } }
    }
    帮忙看看,谢谢了
      

  3.   

    已解决,在声明sum时为sum=0(1,2.....N都行)就行了,遇到问题还请大家帮忙