I just need an explanation as to how this program works, particularly at

Programming Logic & Design Comprehensive
9th Edition
ISBN:9781337669405
Author:FARRELL
Publisher:FARRELL
Chapter4: Making Decisions
Section: Chapter Questions
Problem 2GZ
icon
Related questions
Question
100%

I just need an explanation as to how this program works, particularly at

"string* lastnames = new string[students];

    char* grades = new char[students]; " or the sort function for example.

, nothing needs to be added in it since it's complete and working.

The program is supposed to work as an average calculator for student's exams in which it takes student's last names, re-organizes them alphabetically, takes three of their scores finds the average and assigns a letter grade according to the average.

Program

#include<iostream>
#include<string>
using namespace std;

char getGrade(double average){
   if(average>=90)return 'A';
   else if(average>=80)return 'B';
   else if(average>=70)return 'C';
   else if(average>=60)return 'D';
   else return 'F';
}

void sort(string lastnames[] , char grades[], int n){
   for(int i=0;i<n;i++){
       for(int j=0; j<n-i-1;j++){
           if(lastnames[j].compare(lastnames[j+1])>0){
               string temp = lastnames[j];lastnames[j]=lastnames[j+1];lastnames[j+1]=temp;
               char t = grades[j];grades[j]=grades[j+1];grades[j+1]=t;
           }
       }
   }
}

int main(){

   int students; int s1,s2,s3;
   double average;
   cout<<"This is an automatic grade calculator. Please enter the number of students in the class:\n";
   cin >> students;
  
   string* lastnames = new string[students];
   char* grades = new char[students];
  
   cout<<"Enter each student’s last name, followed by their 3 test scores:\n";
   for(int i=0; i<students;i++){
       cin >> *(lastnames+i);
       cin >> s1 >> s2 >> s3;
       average = (s1+s2+s3)/3;
       *(grades+i) = getGrade(average);
   }
  
   sort(lastnames,grades,students);
   cout<<"Thanks. Here is the final grade sheet:\n";
   for(int i=0; i<students;i++){
       cout<<*(lastnames+i)   <<" " << *(grades+i) << endl;
   }
  
  

   return 0;
}

|C:\Users\User\Documents\C++\graer.exe
This is an automatic grade calculator. Please enter the number of students in the class:
Enter each studentÆs last name, followed by their 3 test scores:
Cree 95 90 95
Enlai 20 10 30
Daniel 40 80 90
Anna 40 60 80
Bodhi 80 10 90
Thanks. Here is the final grade sheet:
Anna D
Bodhi D
Cree A
Daniel C
Enlai F
Process exited after 14.91 seconds with return value 0
Press any key to continue .
Transcribed Image Text:|C:\Users\User\Documents\C++\graer.exe This is an automatic grade calculator. Please enter the number of students in the class: Enter each studentÆs last name, followed by their 3 test scores: Cree 95 90 95 Enlai 20 10 30 Daniel 40 80 90 Anna 40 60 80 Bodhi 80 10 90 Thanks. Here is the final grade sheet: Anna D Bodhi D Cree A Daniel C Enlai F Process exited after 14.91 seconds with return value 0 Press any key to continue .
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Array
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
Programming with Microsoft Visual Basic 2017
Programming with Microsoft Visual Basic 2017
Computer Science
ISBN:
9781337102124
Author:
Diane Zak
Publisher:
Cengage Learning