Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            SpeechSynthesizer synth = new SpeechSynthesizer();
            //synth.Speak("Hello");

            GradeBook book = new GradeBook();

            book.AddGrade(91);
            book.AddGrade(89.5f);

            GradeBook book2 = book;

            book2.AddGrade(75);

            book.NameChanged += new NameChangedDelegate(OnNameChanged);
            book.NameChanged += new NameChangedDelegate(OnNameChanged2);

            book.name = "Chris' grades";

            foreach (var aGrade in book.GetGrades())
            {
                Console.WriteLine(aGrade);
            }

            Console.WriteLine("");

            GradeStatistics stats = new GradeStatistics(book);

            stats.ComputeStatistics();

            Console.WriteLine(book.name);
            Console.WriteLine($"Average: {stats.GetAverageGrade()}");
            Console.WriteLine($"Highest: {stats.GetHighestGrade()}");
            Console.WriteLine($"Lowest: {stats.GetLowestGrade()}");
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            GradeBook GradeBook           = new GradeBook();
            bool      Done                = false;
            int       MaxNumberOfAttempts = 5;
            int       NumberOfAttempts    = 0;

            while (!Done)
            {
                Console.WriteLine("Please enter name of file containing student grades.");

                try {
                    using (FileStream stream = File.Open(Console.ReadLine(), FileMode.Open))
                        using (StreamReader reader = new StreamReader(stream)) {
                            string line = reader.ReadLine();

                            while (line != null)
                            {
                                float grade = float.Parse(line);
                                GradeBook.AddGrade(grade);
                                line = reader.ReadLine();
                            }

                            Console.WriteLine("Student's grades:");

                            foreach (float grade in GradeBook.GetGrades())
                            {
                                Console.WriteLine(grade);
                            }

                            Console.WriteLine(GradeBook.Name);
                            Console.WriteLine("Average grade:" + GradeBook.LetterGrade + " (" + GradeBook.AverageGrade() + ")");
                            Console.WriteLine("Highest grade:" + GradeBook.HighestGrade());
                            Console.WriteLine("Lowest grade:" + GradeBook.LowestGrade());

                            Done = true;
                        }
                } catch (DirectoryNotFoundException ex) {
                    Console.WriteLine("Invalid entry, please try again.");
                } catch (ArgumentException ex) {
                    Console.WriteLine("Invalid entry, please try again.");
                } catch (FileNotFoundException ex) {
                    Console.WriteLine("Could not find the file grades.txt");
                } catch (UnauthorizedAccessException ex) {
                    Console.WriteLine("You do not have access to grades.txt");
                }

                NumberOfAttempts++;
                if (NumberOfAttempts > MaxNumberOfAttempts)
                {
                    Console.WriteLine("Max number of attempts exceeded, exiting.");
                    Done = true;
                }
            }

            Console.Read();
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            GradeBook GradeBook     = new GradeBook();
            bool Done               = false;
            int MaxNumberOfAttempts = 5;
            int NumberOfAttempts    = 0;

            while (!Done) {
                Console.WriteLine("Please enter name of file containing student grades.");

                try {
                    using (FileStream stream = File.Open(Console.ReadLine(), FileMode.Open))
                    using (StreamReader reader = new StreamReader(stream)) {
                        string line = reader.ReadLine();

                        while (line != null) {
                            float grade = float.Parse(line);
                            GradeBook.AddGrade(grade);
                            line = reader.ReadLine();
                        }

                        Console.WriteLine("Student's grades:");

                        foreach (float grade in GradeBook.GetGrades()) {
                            Console.WriteLine(grade);
                        }

                        Console.WriteLine(GradeBook.Name);
                        Console.WriteLine("Average grade:" + GradeBook.LetterGrade + " (" + GradeBook.AverageGrade() +")");
                        Console.WriteLine("Highest grade:" + GradeBook.HighestGrade());
                        Console.WriteLine("Lowest grade:" + GradeBook.LowestGrade());

                        Done = true;
                    }
                } catch (DirectoryNotFoundException ex) {
                    Console.WriteLine("Invalid entry, please try again.");
                } catch (ArgumentException ex) {
                    Console.WriteLine("Invalid entry, please try again.");
                } catch (FileNotFoundException ex) {
                    Console.WriteLine("Could not find the file grades.txt");
                } catch (UnauthorizedAccessException ex) {
                    Console.WriteLine("You do not have access to grades.txt");
                }

                NumberOfAttempts++;
                if (NumberOfAttempts > MaxNumberOfAttempts) {
                    Console.WriteLine("Max number of attempts exceeded, exiting.");
                    Done = true;
                }

            }

            Console.Read();
        }
Ejemplo n.º 4
0
        public void ComputeStatistics()
        {
            _highestGrade = 0;

            if (_book.GetGrades().Count == 0)
            {
                _lowestGrade  = 0;
                _averageGrade = 0;
            }
            else
            {
                _lowestGrade  = float.MaxValue;
                _averageGrade = _book.GetGrades().Sum() / _book.GetGrades().Count;
            }

            foreach (float grade in _book.GetGrades())
            {
                _highestGrade = Math.Max(grade, (float)_highestGrade);
                _lowestGrade  = Math.Min(grade, (float)_lowestGrade);
            }
        }
Ejemplo n.º 5
0
        public GradeStatistics(GradeBook book)
        {
            this.HighestGrade = Double.MinValue;
            this.LowestGrade  = Double.MaxValue;
            this.AverageGrade = 0;
            IEnumerable grades = book.GetGrades();
            //this.HighestGrade =
            Int32 count = 0;

            foreach (Double grade in grades)
            {
                this.HighestGrade  = Math.Max(this.HighestGrade, grade);
                this.LowestGrade   = Math.Min(this.LowestGrade, grade);
                this.AverageGrade += grade;
                count++;
            }
            this.AverageGrade /= count;
        }