یک برنامهی C# بنویسید که تاریخ (روز/ماه/سال) را از کاربر بگیرد و شمارهی روز در سال (DayOfYear) و تعداد روزهای باقیمانده تا پایان سال را محاسبه و نمایش دهد.
50.0 بازدید آخرین ویرایش در 175 روز قبل ساعت 18:48 0.0
برای حل این مسئله از struct DateTime در C# استفاده کنید؛ ورودی را با DateTime.TryParse یا DateTime.ParseExact به یک DateTime تبدیل کنید و از خاصیت DateTime.DayOfYear برای بهدست آوردن شمارهی روز استفاده کنید. برای محاسبهی روزهای کل سال میتوانید از DateTime.IsLeapYear(year) یا مقدار DateTime(new DateTime(year,12,31)).DayOfYear بهره ببرید، و مطمئن شوید ورودی نامعتبر را هندل کرده و پیغام خطای مناسب نشان دهید؛ این تمرین در حوزههای اتوماسیون، وب و محاسبات عددی کاربرد دارد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای جلوگیری از ابهام در ورودی تاریخ، از DateTime.TryParseExact با آرایهای از فرمتهای مجاز و CultureInfo.InvariantCulture یا CultureInfo.CurrentCulture استفاده کنید و رشته ورودی را قبل از پارس کردن trim کنید. شماره روز را مستقیم از DateTime.DayOfYear بخوانید و تعداد روزهای کل سال را با DateTime.IsLeapYear(year) ? 366 : 365 محاسبه کنید و سپس باقیمانده را بهصورت totalDays - dayOfYear محاسبه کنید (مراقب 29 اسفند در سال کبیسه باشید). همیشه نتیجه TryParse را بررسی و در صورت نامعتبر بودن ورودی پیغام خطای واضح نمایش دهید و در صورت نیاز فرمتهای متداول دیگر را هم مجاز کنید.
گزارش