isbn is 9780521670159 Design and implement a class that allo
isbn is 9780521670159
Design and implement a class that allows a teacher to track the grades in a single course. Include methods that calculate the average grade, the highest grade, and the lowest grade. Write a program to test your class implementation. Modify Exercise 1 so that the class can keep track of multiple courses. Write a program to test your implementation. Rewrite Exercise 1 using an ArrayList. Write a program to test your implementation and compare its performance to that of the array implementation in Exercise 1 using the Timing class. Design and implement a class that uses an array to mimic the behavior of the ArrayList class. Include as many methods from the ArrayList class as possible. Write a program to test your implementation.Solution
Hi,
I\'m giving you the answers for the first 3 questions mentioned above. As per Chegg policy i have to answer first 3 questions only. The following are the two programs which gives average, minimum grade and maximum grade for 3 courses. Program1 is written using \"Array\" and Program2 is written using \"ArrayList\". Both programs have a timer class which shows you the time elapsed.
Program1: //Using normal Array
using System.IO;
 using System;
 using System.Diagnostics;
class Grade
 {
 public string course;
 public double[] grades;
   
 public Grade(string c){
 course = c;
 grades = new double[10];
 }
   
 public void setCourse(string c){ course=c;}
 public string getCourse(){ return course; }
   
 public double findMinGrade(){
 double min=grades[0];
 int len=grades.Length;
   
 for(int i=1;i<len;i++)
 if(min>grades[i])
 min=grades[i];
   
 return min;
 }
   
 public double findMaxGrade(){
 double max=grades[0];
 int len=grades.Length;
   
 for(int i=1;i<len;i++)
 if(max<grades[i])
 max=grades[i];
   
 return max;
 }
   
 public double findAvgGrade(){
 double sum=0;
 double len=grades.Length;
   
 for(int i=0;i<len;i++)
 sum=sum+grades[i];
   
 return sum/len;
   
 }
   
 }
 class Program
 {
 static void Main()
 {
   
 Stopwatch stopwatch = new Stopwatch();
// Begin timer
 stopwatch.Start();
  
   
 Grade[] b=new Grade[3];
   
 b[0]=new Grade(\"Computer\");
 b[1]=new Grade(\"Electronics\");
 b[2]=new Grade(\"Biotech\");
 
   
 for(int a=10,d=5,c=7,i=0;i<10;a+=10,d+=5,c+=7,i++) {
 b[0].grades[i]=a;
 b[1].grades[i]=d;
 b[2].grades[i]=c;
 }
   
 for(int i=0;i<3;i++){
 Console.WriteLine(\"************************\");
 Console.WriteLine(\"Course: {0}\", b[i].getCourse());
 Console.WriteLine(\"Min Grade:{0}\", b[i].findMinGrade());
 Console.WriteLine(\"Max Grade: {0}\", b[i].findMaxGrade());
   
 Console.WriteLine(\"Average Grade: {0}\", b[i].findAvgGrade());
 Console.WriteLine(\"************************\");
 }
   
 // Stop timer
 stopwatch.Stop();
//result.
 Console.WriteLine(\"Time elapsed: {0}\", stopwatch.Elapsed);
 }
}
Output:
************************
Course: Computer
Min Grade:10
Max Grade: 100
Average Grade: 55
************************
************************
Course: Electronics
Min Grade:5
Max Grade: 50
Average Grade: 27.5
************************
************************
Course: Biotech
Min Grade:7
Max Grade: 70
Average Grade: 38.5
************************
Time elapsed: 00:00:00.0119044
Program2: //Using ArrayList
using System.IO;
 using System;
 using System.Diagnostics;
 using System.Collections;
class Grade
 {
 public string course;
 public ArrayList grades;
   
 public Grade(string c){
 course = c;
 grades = new ArrayList();
 }
   
 public void setCourse(string c){ course=c;}
 public string getCourse(){ return course; }
   
 public int findMinGrade(){
 grades.Sort();
 int o=(int)grades[0];
 return o;
   
 }
   
 public int findMaxGrade(){
 grades.Sort();
 int o=(int) grades[0];
 return o;
 }
   
 public double findAvgGrade(){
 int sum=0;
 double len=grades.Count;
   
 foreach (int i in grades )
 sum=sum+i;
   
 return sum/len;
   
 }
   
 }
 class Program
 {
 static void Main()
 {
   
 Stopwatch stopwatch = new Stopwatch();
// Begin timer
 stopwatch.Start();
  
   
 Grade[] b=new Grade[3];
   
 b[0]=new Grade(\"Computer\");
 b[1]=new Grade(\"Electronics\");
 b[2]=new Grade(\"Biotech\");
 
   
 for(int a=10,d=5,c=7,i=0;i<10;a+=10,d+=5,c+=7,i++) {
 b[0].grades.Add(a);
 b[1].grades.Add(d);
 b[2].grades.Add(c);
 }
   
 for(int i=0;i<3;i++){
 Console.WriteLine(\"************************\");
 Console.WriteLine(\"Course: {0}\", b[i].getCourse());
 Console.WriteLine(\"Min Grade:{0}\", b[i].findMinGrade());
 Console.WriteLine(\"Max Grade: {0}\", b[i].findMaxGrade());
   
 Console.WriteLine(\"Average Grade: {0}\", b[i].findAvgGrade());
 Console.WriteLine(\"************************\");
 }
   
 // Stop timer
 stopwatch.Stop();
//result.
 Console.WriteLine(\"Time elapsed: {0}\", stopwatch.Elapsed);
 }
}
Output:
************************
Course: Computer
Min Grade:10
Max Grade: 10
Average Grade: 55
************************
************************
Course: Electronics
Min Grade:5
Max Grade: 5
Average Grade: 27.5
************************
************************
Course: Biotech
Min Grade:7
Max Grade: 7
Average Grade: 38.5
************************
Time elapsed: 00:00:00.0113880





