Как правильно составить класс 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; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д