Advertisement
Guest User

Untitled

a guest
May 29th, 2018
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.98 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace _8.Mentor_Group
  8. {
  9.     class Program
  10.     {
  11.         static void Main()
  12.         {
  13.             var students = new List<Student>();
  14.             string input = Console.ReadLine();
  15.             while (input != "end of dates")
  16.             {
  17.                 var tokens = input.Split(new char[] { ' ', ',' }).ToArray();
  18.                 var name = tokens[0];
  19.  
  20.                 List<DateTime> currDates  = new List<DateTime>();
  21.                 foreach (var date in tokens.Skip(1))
  22.                 {
  23.                     var localTokens = date.Split('/').ToArray();
  24.                     int year = int.Parse(localTokens[2]);
  25.                     int month = int.Parse(localTokens[1]);
  26.                     int day = int.Parse(localTokens[0]);
  27.                     currDates.Add(new DateTime(year, month, day));
  28.                 }
  29.  
  30.                 if (students.Any(x=>x.name == name))
  31.                 {
  32.                     students.Single(x => x.name == name).dates.AddRange(currDates);
  33.                 }
  34.                 else
  35.                 {
  36.                     var currStudent = new Student(name);
  37.                     currStudent.dates.AddRange(currDates);
  38.                     students.Add(currStudent);
  39.                 }
  40.                              
  41.                 input = Console.ReadLine();
  42.             }
  43.  
  44.             input = Console.ReadLine();
  45.             while(input != "end of comments")
  46.             {
  47.                 var tokens = input.Split('-').ToArray();
  48.                 var name = tokens[0];
  49.                 var comment = tokens[1];
  50.  
  51.                 if(students.Any(x=>x.name == name))
  52.                 {
  53.                     var studentsWithNames = students.Where(x => x.name == name).ToArray();
  54.  
  55.                     for (int i = 0; i < studentsWithNames.Length; i++)
  56.                     {
  57.                         studentsWithNames[i].comments.Add(comment);
  58.                     }
  59.                 }
  60.                 input = Console.ReadLine();
  61.             }
  62.  
  63.             foreach (var student in students.OrderBy(x=>x.name))
  64.             {
  65.                 Console.WriteLine(student.name);
  66.                 Console.WriteLine("Comments:");
  67.                 foreach (var comm in student.comments)
  68.                 {
  69.                     Console.WriteLine($"- {comm}");
  70.                 }
  71.                 Console.WriteLine("Dates attended:");
  72.                 foreach (var date in student.dates.OrderBy(x=>x))
  73.                 {
  74.                     Console.WriteLine($"-- {date.ToString("dd/MM/yyyy")}");
  75.                 }
  76.             }
  77.             //Console.ReadLine();
  78.         }
  79.     }
  80.  
  81.     public class Student
  82.     {
  83.         public string name;
  84.         public List<string> comments = new List<string>();
  85.         public List<DateTime> dates = new List<DateTime>();
  86.  
  87.         public Student(string Name)
  88.         {
  89.             name = Name;
  90.         }
  91.     }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement