C++ Students Data Program ---------------------- Create a program to store information about students and then print it to the screen. Requirements: 1) The user will decide for how many students he wants to enter information 2) The program must accept the following information for each student: - First name - Last name - Gender (accept both m/f and M/F) - Age - Height (inches) 3)For each student, print the data to the screen in tablular, left-justified format (hint: use iomanip functions) Example of program execution Please enter student 2\'s First Name: Joan Please enter Joan\'s Last Name: Jett Please enter Joan\'s Gender: F Please enter Joan\'s Age: 20 Please enter Joan\'s height (inches): 67 Student 2 --------- Jett, Joan Female 20years old 5\' 7\"
  #include \"stdafx.h\" #include 
  #include   #include  #include  #include    using namespace std;   struct StudentData {     int studentID;      string first_name;      string last_name;      int exam1;      int exam2;      int exam3;      int total;      char ch;  };   const int SIZE = 9;  const int INFO = 4;   // Function prototypes void openInputFile(ifstream &, string);  void getTotal(StudentData[]);  void getGrade(StudentData[]);  void calcLowest(StudentData[], int &, int &, int &, int &, int[]);   void calcHighest(StudentData[], int &, int &, int &, int &, int[]);   void getAverage(StudentData[], int, double &, double &, double &, double &, double[]);  void getStd(StudentData[], double &, double &, double &, double &, double &, double &, double &, double &, double[]);  void print(StudentData[], int[], int[], double[], double[]);  void sort(StudentData[]);   int main() {     // Variables      StudentData arr[SIZE];      int lowest1, lowest2, lowest3, lowest4; // Stores lowest exam scores     int highest1, highest2, highest3, highest4; // Holds highest exam scores     double average1 = 0, average2 = 0, average3 = 0, average4 = 0; // Represents average of each exam      double std1 = 0, std2 = 0, std3 = 0, std4 = 0; // Holds standard deviation for Exams 1-3 and Total      int lowest[INFO] = {};     int highest[INFO] = {};      double average[INFO] = {};      double standardDeviation[INFO] = {};       ifstream inFile;      string inFileName = \"C:\\\\Users\\\\Lisa\\\\Desktop\\\\scores.txt\";       // Call function to read data in file     openInputFile(inFile, inFileName);      // Read data into an array of structs      for(int count = 0; count < SIZE; count++)     {         inFile >> arr[count].studentID >> arr[count].first_name >> arr[count].last_name >> arr[count].exam1 >> arr[count].exam2 >> arr[count].exam3;      }      // Close input file     inFile.close();        // Get score total for each student      getTotal(arr);       // Determine grade for each student     getGrade(arr);       // Calculate lowest scores in each exam and total scores     calcLowest(arr, lowest1, lowest2, lowest3, lowest4, lowest);       // Calculate highest scores in each exam and total scores       calcHighest(arr, highest1, highest2, highest3, highest4, highest);       // Calculate average of each exam and the average of the total scores     getAverage(arr, SIZE, average1, average2, average3, average4, average);       // Calculate standard deviation of each category      getStd(arr, std1, std2, std3, std4, average1, average2, average3, average4, standardDeviation);       cout << \"\ \";       // Print unsorted data     print(arr, lowest, highest, average, standardDeviation);       cout << \"\ \";       // Sort data      sort(arr);       // Print sorted data     print(arr, lowest, highest, average, standardDeviation);       system(\"PAUSE\");       return 0;  }  /** * Pre-condition:  * Post-condition:  */ void openInputFile(ifstream &inFile, string inFileName) {     //Open the file     inFile.open(inFileName);      //Input validation     if (!inFile)     {         cout << \"Error to open file.\" << endl;         cout << endl;         return;     } }  /** * Pre-condition:  * Post-condition:  */ void getTotal(StudentData arr[]) {     for(int i = 0; i < SIZE; i++)     {         arr[i].total = arr[i].exam1 + arr[i].exam2 + arr[i].exam3;      } }  /** * Pre-condition:  * Post-condition:  */ void getGrade(StudentData arr[]) {     for(int i = 0; i < SIZE; i++)     {         if(arr[i].total >= 270)             arr[i].ch = \'A\';          else if(arr[i].total >= 240)             arr[i].ch = \'B\';          else if(arr[i].total >= 210)             arr[i].ch = \'C\';          else if(arr[i].total >= 180)             arr[i].ch = \'D\';          else              arr[i].ch = \'F\';      } }  /** * Pre-condition:  * Post-condition:  */ void calcLowest(StudentData arr[], int &lowest1, int &lowest2, int &lowest3, int &lowest4, int lowest[]) {     int smallest = 0;       lowest1 = arr[0].exam1;      lowest2 = arr[0].exam2;      lowest3 = arr[0].exam3;      lowest4 = arr[0].total;       // Loop to determine lowest score from Exam1, 2, 3, and Total     for (int i = 0; i < SIZE; i++)     {         if (lowest1 > arr[i].exam1)         {             lowest1 = arr[i].exam1;              smallest = i;          }          if (lowest2 > arr[i].exam2)         {             lowest2 = arr[i].exam2;              smallest = i;          }          if (lowest3 > arr[i].exam3)         {             lowest3 = arr[i].exam3;              smallest = i;          }          if (lowest4 > arr[i].total)         {             lowest4 = arr[i].total;              smallest = i;          }     }      // Loop lowest values into an array of size 4      for(int index = 0; index < INFO; index++)     {         if(index == 0)             lowest[0] = lowest1;          else if(index == 1)             lowest[1] = lowest2;          else if(index == 2)             lowest[2] = lowest3;          else if(index == 3)             lowest[3] = lowest4;          else              cout << \"Fail!\" << endl;      } }  /** * Pre-condition:  * Post-condition:  */ void calcHighest(StudentData arr[], int &highest1, int &highest2, int &highest3, int &highest4, int highest[]) {     int biggest = 0;       highest1 = arr[0].exam1;      highest2 = arr[0].exam2;      highest3 = arr[0].exam3;      highest4 = arr[0].total;       // Loop to determine highest score from Exam1, 2, 3, and Total      for (int i = 0; i < SIZE; i++)     {         if (highest1 < arr[i].exam1)         {             highest1 = arr[i].exam1;              biggest = i;          }          if (highest2 < arr[i].exam2)         {             highest2 = arr[i].exam2;              biggest = i;          }          if (highest3 < arr[i].exam3)         {             highest3 = arr[i].exam3;              biggest = i;          }          if (highest4 < arr[i].total)         {             highest4 = arr[i].total;              biggest = i;          }     }      // Loop highest values into an array of size 4      for(int index = 0; index < INFO; index++)     {         if(index == 0)             highest[0] = highest1;          else if(index == 1)             highest[1] = highest2;          else if(index == 2)             highest[2] = highest3;          else if(index == 3)             highest[3] = highest4;          else              cout << \"Fail!\" << endl;      } }  /** * Pre-condition:  * Post-condition:  */ void getAverage(StudentData arr[], int size, double &average1, double &average2, double &average3, double &average4, double average[]) {     int sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0;       // Get sum of each category (Exam1, 2, 3, and Total)     for(int i = 0; i < SIZE; i++)     {         sum1 += arr[i].exam1;         sum2 += arr[i].exam2;          sum3 += arr[i].exam3;         sum4 += arr[i].total;      }      // Calculate average for each category      average1 += static_cast(sum1)/size;        average2 += static_cast(sum2)/size;       average3 += static_cast(sum3)/size;       average4 += static_cast(sum4)/size;       // Loop average values into an array of size 4      for(int index = 0; index < INFO; index++)     {         if(index == 0)             average[0] = average1;          else if(index == 1)             average[1] = average2;          else if(index == 2)             average[2] = average3;          else if(index == 3)             average[3] = average4;          else              cout << \"Fail!\" << endl;      } }  /** * Pre-condition:  * Post-condition:  */ void getStd(StudentData arr[], double &std1, double &std2, double &std3, double &std4, double &average1, double &average2, double &average3, double &average4, double standardDeviation[]) {     double deviationSum1 = 0, deviationSum2 = 0, deviationSum3 = 0, deviationSum4 = 0;       for(int i = 0; i < SIZE; i++)     {         deviationSum1 += pow((arr[i].exam1 - average1), 2);          deviationSum2 += pow((arr[i].exam2 - average2), 2);          deviationSum3 += pow((arr[i].exam3 - average3), 2);          deviationSum4 += pow((arr[i].total - average4), 2);     }      std1 = sqrt(deviationSum1 / ((SIZE) - 1));      std2 = sqrt(deviationSum2 / ((SIZE) - 1));      std3 = sqrt(deviationSum3 / ((SIZE) - 1));      std4 = sqrt(deviationSum4 / ((SIZE) - 1));       // Loop average values into an array of size     for(int index = 0; index < INFO; index++)     {         if(index == 0)             standardDeviation[0] = std1;          else if(index == 1)             standardDeviation[1] = std2;          else if(index == 2)             standardDeviation[2] = std3;          else if(index == 3)             standardDeviation[3] = std4;          else              cout << \"Fail!\" << endl;      } }        cout << \"\ \";  }  /** * Pre-condition:  * Post-condition:  */ void sort(StudentData arr[]) {     StudentData temp;       for (int i = 0; i < (SIZE - 1); i++)     {         for (int j = i + 1; j < SIZE; j++)         {             if (arr[i].last_name > arr[j].last_name)             {                 temp = arr[i];                     arr[i] = arr[j];                 arr[j] = temp;             }         }     } }