Как правильно составить класс Weather? - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Нужна ваша помощь помогите добить класс погода.Задание такое: Создайте класс Weather, который содержит поля, методы get/set (свойства), конструкторы, метод ToString и методы, реализующие следующие задачи: > Распечатайте, какая погода в указанном городе и по указанной дате > Распечатайте, какая погода Сегодня (текущая дата) > Определите среднюю температуру в указанном месяце
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Ulesanne_1_Weather
{
    enum AtmosphericPhenomena
    {
 
    }
    class Weather
    {
#region Fields and Properties
       private int airTemperature;
        public int AirTemperature
{
            get { return airTemperature; }
            set
            {
                if (value<=90 && value>=90 )
                {
                    airTemperature = value;
                }
                else
                {
                    airTemperature=Int32.MaxValue;
                }
                }
        }
 
        public string City {get; set;}
        public DateTime Date {get; set;}
       public AtmosphericPhenomena Atmospheric {get; set;}
        //Pressure Humidity Wind
 
#endregion
 
        #region Constructors
       public Weather()
       {
           Random rnd = new Random();
           Date = DateTime.Today;
           City = "Kohtla-Jarve";
           AirTemperature = rnd.Next(-50, 50);
       }
 
        #endregion
 
        #region Methods
       public void PrintWeather()
       {
           Console.WriteLine("Weather in {0} is {1}C°",
               City, AirTemperature);
       }
        #endregion
 
    }
}
Заранее спасибо)

Решение задачи: «Как правильно составить класс Weather?»

textual
Листинг программы
        public class Weather
    {
        List<Situation> items;
        List<string> monthes = new List<string>{ "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь" };
        public Weather()
        {
            items = new List<Situation>();
        }
 
        public void Add(string city, double temparature, DateTime date)
        {
            items.Add(new Situation(date, city, temparature));
        }
 
        public void Add(string city, double temparature)
        {
            items.Add(new Situation(DateTime.Now, city, temparature));
        }
 
        public void GetWeather(string city, DateTime date)
        {
            var item = items.FirstOrDefault(i => i.City == city && i.Date.Date.Equals(date.Date));
            Console.WriteLine("Погода для населенного пункта {0} на {1}:", item.City, item.Date.ToShortDateString());
            Console.WriteLine("Температура: {0} градусов по Цельсию", item.Temperature);
        }
 
        public void GetCurrentWeather(string city)
        {
            var situation = items.FirstOrDefault(s => s.City == city && s.Date.Date.Equals(DateTime.Now.Date));
            Console.WriteLine("Погода для населенного пункта {0} сегодня:", situation.City);
            Console.WriteLine("Температура: {0} градусов по Цельсию", situation.Temperature);
        }
 
        public void GetAverageTemperature(string monthName)
        {
            var averageTemperature = items.Where(s => s.Date.Month == monthes.IndexOf(monthName)).Sum(s => s.Temperature);
            Console.WriteLine("Средняя температура за {0}: {1}", monthName, averageTemperature);
        }
 
        public override string ToString()
        {
            return items.Aggregate(String.Empty, (current, item) => current + String.Format("Дата:{0}; Город:{1}; Температура:{2}", item.Date.ToShortDateString(), item.City, item.Temperature));
        }
    }
 
    public class Situation
    {
        public double Temperature { get; set; }
 
        public string City { get; set; }
 
        public DateTime Date { get; set; }
 
        public Situation (DateTime date, string city, double temperature)
        {
            Date = date;
            City = city;
            Temperature = temperature;
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.571 из 5
Похожие ответы