public Semester MainCourseMenu(Semester semester, Year year) { Semester semesterTemp = semester; List <Course> courses = semesterTemp.Courses; var isStatusComplete = false; while (!isStatusComplete) { var count = 1; Console.WriteLine(""); Console.WriteLine($"{year.PrintYear()} - {semester.GetSemesterTypeName()}\n"); Console.Write($"Courses Count {courses.Count}\n"); Console.WriteLine("------------------------------"); foreach (var course in courses) { Console.WriteLine(count++ + ". " + course.PrintDetails()); } Console.WriteLine("------------------------------"); Console.WriteLine(""); try { Console.WriteLine(""); Console.WriteLine("------------------------------"); Console.Write($"\nSelect from Options:\n[1]Add Course\n[2]Calculate GPA\n[3]Go Back\n"); Console.WriteLine("------------------------------"); Console.WriteLine(""); var input = Convert.ToInt32(Console.ReadLine()); switch (input) { case 1: Course course = AddCourseMenu(); semesterTemp.AddCourse(course); continue; case 2: Console.WriteLine(CalculateGPA(semester)); Console.WriteLine("Press any key to continue"); Console.ReadKey(); continue; case 3: isStatusComplete = true; break; default: Console.Write("Invalid Option"); continue; } } catch (Exception ex) { Console.WriteLine("Error, Try again"); continue; } } return(semesterTemp); }
public string CalculateGPA(Semester semester) { var creditsTotal = 0.00; var gradePointTotal = 0.00; List <Course> courseList = semester.Courses; foreach (var course in courseList) { creditsTotal += course.Units; gradePointTotal += course.GradePoint(); } return(String.Format("Your GPA for {0} is {1}", semester.GetSemesterTypeName(), gradePointTotal / creditsTotal)); }