Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.IO;
- namespace Zodiac
- {
- public struct ZodiacSign
- {
- public string Name { get; set; }
- public DateTime StartDate { get; set; }
- public DateTime EndDate { get; set; }
- public ZodiacSign(string name, DateTime startDate, DateTime endDate)
- : this()
- {
- Name = name;
- StartDate = startDate;
- EndDate = endDate;
- }
- }
- class Program
- {
- static readonly ZodiacSign[] ZodiacSigns = new[]
- {
- new ZodiacSign(
- "Sagittarius",
- new DateTime(2016, 11, 22),
- new DateTime(2016, 12, 21)),
- new ZodiacSign(
- "Capricorn",
- new DateTime(2016, 12, 22),
- new DateTime(2016, 1, 19))
- };
- const string DataFile = "../../dates.txt";
- static void Main(string[] args)
- {
- var dates = ReadDates(DataFile);
- foreach (var date in dates)
- {
- PrintZodiacSign(date);
- }
- }
- private static void PrintZodiacSign(DateTime date)
- {
- var comparisonDate = new DateTime(2016, date.Month, date.Day);
- foreach (var zodiacSign in ZodiacSigns)
- {
- if (zodiacSign.Name != "Capricorn")
- {
- if (comparisonDate >= zodiacSign.StartDate
- && comparisonDate <= zodiacSign.EndDate)
- {
- Console.WriteLine("{0} => {1}",
- date.ToShortDateString(),
- zodiacSign.Name);
- }
- }
- else
- {
- if (comparisonDate >= zodiacSign.StartDate
- || comparisonDate <= zodiacSign.EndDate)
- {
- Console.WriteLine("{0} => {1}",
- date.ToShortDateString(),
- zodiacSign.Name);
- }
- }
- }
- }
- private static IList<DateTime> ReadDates(string dataFile)
- {
- var dateList = new List<DateTime>();
- using (var reader = new StreamReader(dataFile))
- {
- string line = reader.ReadLine();
- while (line != null)
- {
- DateTime date;
- if (DateTime.TryParse(line, out date))
- {
- dateList.Add(date);
- }
- line = reader.ReadLine();
- }
- }
- return dateList;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment