//static void GiveBookAName(ref GradeBook book) //{ // //book = new GradeBook(); // //book.Name = "The New Grade book "; //} //static void IncrementNumber(ref int number) //{ // number = 42; //} static void Main(string[] args) { //Arrays(); //SpechSynthesizer //Immutable(); //NewMethod(); //string name1 = "Scott"; //string name2 = "scott"; //bool areEqual = name1.Equals(name2, StringComparison.CurrentCultureIgnoreCase); //Console.WriteLine(areEqual); //ThrowAwayGradeBook book = new ThrowAwayGradeBook("Scott's Book"); //GradeTracker book = CreateGradeBook(); IGradeTracker book = CreateGradeBook(); try { using (FileStream stream = File.Open("grades.txt", FileMode.Open)) using (StreamReader reader = new StreamReader(stream)) { string line = reader.ReadLine(); while (line != null) { float grade = float.Parse(line); book.AddGrade(grade); line = reader.ReadLine(); } } } //try //{ // string[] lines = File.ReadAllLines("grades.txt"); // foreach (string line in lines) // { // float grade = float.Parse(line); // book.AddGrade(grade); // } //} catch (FileNotFoundException ex) { Console.WriteLine("Could not locate the file grades.txt"); return; } catch (UnauthorizedAccessException ex) { Console.WriteLine("No Access"); return; } //finally //{ // if (reader != null) // { // reader.Close(); // } // if(stream != null) // { // stream.Close(); // } //} //book.AddGrade(91f); //book.AddGrade(89.5f); //book.AddGrade(75f); //book.DoSomething(); //book.WriteGuides(Console.Out); foreach (float grade in book) { Console.WriteLine(grade); } try { // Console.WriteLine("Please enter a name for the book"); // book.Name = Console.ReadLine(); } catch (ArgumentException) { Console.WriteLine("Invalid Name"); } GradeStatistics stats = book.ComuteStatistics(); Console.WriteLine(stats.AverageGrade); Console.WriteLine(stats.LowestGrade); Console.WriteLine(stats.HighestGrade); Console.WriteLine("{0} {1}", stats.LetterGrade, stats.Description); //WriteNames("Scott","Allen","Alex","joy"); //book.Name = ""; //book.NameChanged += OnNameChanged;//multi cast deligate //book.NameChanged += OnNameChanged; //book.NameChanged += OnNameChanged2; //book.NameChanged -= OnNameChanged; //book.NameChanged = new NamedChangedDeligate(OnNameChanged2); //book.NameChanged = new NamedChangedDeligate(OnNameChanged); //book.Name = "Allen's Book"; //WriteNames(book.Name); ////int number = 20; //WriteBytes(number); //WriteBytes(stats.AverageGrade); }