یک برنامه‌ی 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 بهره ببرید، و مطمئن شوید ورودی نامعتبر را هندل کرده و پیغام خطای مناسب نشان دهید؛ این تمرین در حوزه‌های اتوماسیون، وب و محاسبات عددی کاربرد دارد.

توسط پژوهشگر در 175 روز قبل ساعت 18:48
دسته بندی ها: C# C# for beginner
sara در 175 روز قبل ساعت 18:49

برای جلوگیری از ابهام در ورودی تاریخ، از DateTime.TryParseExact با آرایه‌ای از فرمت‌های مجاز و CultureInfo.InvariantCulture یا CultureInfo.CurrentCulture استفاده کنید و رشته ورودی را قبل از پارس کردن trim کنید. شماره روز را مستقیم از DateTime.DayOfYear بخوانید و تعداد روزهای کل سال را با DateTime.IsLeapYear(year) ? 366 : 365 محاسبه کنید و سپس باقی‌مانده را به‌صورت totalDays - dayOfYear محاسبه کنید (مراقب 29 اسفند در سال کبیسه باشید). همیشه نتیجه TryParse را بررسی و در صورت نامعتبر بودن ورودی پیغام خطای واضح نمایش دهید و در صورت نیاز فرمت‌های متداول دیگر را هم مجاز کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری