Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Linq;
- using System.Collections.Generic;
- using System;
- using System.Globalization;
- namespace MentorGroup
- {
- class Program
- {
- public static void Main(string[] args)
- {
- SortedDictionary<string, Student> students = new SortedDictionary<string, Student>();
- string attendancies = Console.ReadLine();
- while (!attendancies.Equals("end of dates"))
- {
- string[] nameAndDates;
- if (attendancies.Contains(" "))
- {
- nameAndDates = attendancies.Split(' ').ToArray();
- }
- else
- {
- students.Add(attendancies, new Student());
- attendancies = Console.ReadLine();
- continue;
- }
- string studentName = nameAndDates[0];
- if (nameAndDates[1].Contains(","))
- {
- List<DateTime> dates = new List<DateTime>();
- string[] allDatesAttended = nameAndDates[1].Split(',');
- foreach (string date in allDatesAttended)
- {
- DateTime currentDate = DateTime.ParseExact(date, "dd/MM/yyyy", CultureInfo.InvariantCulture);
- dates.Add(currentDate);
- }
- if (!students.ContainsKey(studentName))
- {
- students.Add(studentName, new Student());
- }
- if (students[studentName].Attendancies == null)
- {
- students[studentName].Attendancies = new List<DateTime>();
- }
- students[studentName].Attendancies.AddRange(dates);
- }
- else
- {
- string dateAttended = nameAndDates[1];
- if (!students.ContainsKey(studentName))
- {
- students.Add(studentName, new Student());
- }
- if (students[studentName].Attendancies == null)
- {
- students[studentName].Attendancies = new List<DateTime>();
- }
- students[studentName].Attendancies.Add(DateTime.ParseExact(dateAttended, "dd/MM/yyyy", CultureInfo.InvariantCulture));
- }
- attendancies = Console.ReadLine();
- }
- string comments = Console.ReadLine();
- while (!comments.Equals("end of comments"))
- {
- string[] commentsInfo = comments.Split('-').ToArray();
- string fromStudent = commentsInfo[0];
- string studentComment = commentsInfo[1];
- if (!students.ContainsKey(fromStudent) || students[fromStudent].Attendancies == null)
- {
- comments = Console.ReadLine();
- continue;
- }
- if (students[fromStudent].Comments == null)
- {
- students[fromStudent].Comments = new List<string>();
- }
- students[fromStudent].Comments.Add(studentComment);
- comments = Console.ReadLine();
- }
- foreach (KeyValuePair<string, Student> student in students)
- {
- Console.WriteLine("{0}", student.Key);
- Console.WriteLine("Comments:");
- if (student.Value.Comments != null)
- {
- foreach (string comment in student.Value.Comments)
- {
- Console.WriteLine("- {0}", comment);
- }
- }
- Console.WriteLine("Dates attended:");
- if (student.Value.Attendancies != null)
- {
- foreach (DateTime attendancy in student.Value.Attendancies.OrderBy(x => x.Date))
- {
- Console.WriteLine("-- {0}", attendancy.ToString("dd/MM/yyyy"));
- }
- }
- }
- }
- }
- class Student
- {
- public List<string> Comments { get; set; }
- public List<DateTime> Attendancies { get; set; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment