| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 819 人关注过本帖
标题:一个C#程序,谢谢!
只看楼主 加入收藏
麦麦兜
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-8-28
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
一个C#程序,谢谢!
小弟初学C#,有道难题没有思路,望大哥大姐帮帮忙!
需求:1.用户输入年月日,输出平年还是闰年,月份是大月还是小月,日子是365天内的第几天
   2.在程序中假日有效性验证:如果用户输入年/月/日为3000/25/70,则默认年为3000;月为25/12个月算出年后累加上前面的年,为3000+2年多1月;日期为70/30天算出后     月上25+2多10天,以此类推。
望高手能实现下,能代码化一个需求也可以,万分感谢哈。
搜索更多相关主题的帖子: 年月日 大哥 用户 
2009-08-28 14:45
jedypjd
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1096
专家分:4969
注 册:2009-7-27
收藏
得分:5 
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                string m = Console.ReadLine();
                string[] str = m.Split('/');
                int day = int.Parse(str[2]) % 30;
                if (day == 0)
                {
                    day = 30;
                }
                int month = (int.Parse(str[1]) + int.Parse(str[2]) / 30) % 12;
                if (month == 0)
                {
                    month = 12;
                }
                int year = int.Parse(str[0]) + (int.Parse(str[1]) + int.Parse(str[2]) / 30) / 12;
                int daynumber = 0;
                if (Isleap(year))
                {
                    Console.WriteLine("闰年");
                }
                else
                {
                    Console.WriteLine("不是闰年");
                }
                if (Nummonth(month, Isleap(year)) > 30)
                {
                    Console.WriteLine("大月");
                }
                else
                {
                    Console.WriteLine("小月");
                }
                for (int i = 1; i < month; i++)
                {
                    daynumber += Nummonth(i, Isleap(year));
                }
                daynumber += day;

                Console.WriteLine("一年的第" + daynumber.ToString()+"天");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
           
            Console.ReadKey();
        }
        /// 判断闰年
        /// </summary>
        /// <param name="year">年份</param>
        /// <returns>是否闰年</returns>
        static bool Isleap(int year)
        {
            return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
        }
        /// <summary>
        /// 计算当月的天数
        /// </summary>
        /// <param name="month">月份</param>
        /// <param name="b">是否闰年</param>
        /// <returns>当月的天数</returns>
        static int Nummonth(int month, bool b)
        {
            int num;
            if (month == 2 && b)
            {
                num = 29;
            }
            else
            {
                if (month == 2 && !b)
                {
                    num = 28;
                }
                else
                {
                    if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
                    {
                        num = 31;
                    }
                    else
                    {
                        num = 30;
                    }
                }
            }
            return num;
        }

    }
}

[ 本帖最后由 jedypjd 于 2009-8-28 19:07 编辑 ]

天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2009-08-28 18:55
winnerforeve
Rank: 2
等 级:论坛游民
帖 子:32
专家分:83
注 册:2009-9-7
收藏
得分:5 
;;

QQ1104494338
www.
www.
2009-09-07 13:20
小猫小虾米
Rank: 2
等 级:论坛游民
帖 子:104
专家分:16
注 册:2009-2-24
收藏
得分:5 
楼上从2个变成5个了
2009-09-07 18:32
王小毛
Rank: 2
等 级:论坛游民
帖 子:5
专家分:20
注 册:2009-9-7
收藏
得分:5 
楼主要求c#,怎么用Java了
2009-09-07 18:36
jedypjd
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1096
专家分:4969
注 册:2009-7-27
收藏
得分:0 
就是C#啊,没用java

天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2009-09-07 21:59
快速回复:一个C#程序,谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014532 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved