### Need to figure out how to sort in alphabetic order, already got it in order for grade in descending form

Write a program that allows a teacher to enter name-grade pairs, Ex: The user will type in the name of the student followed by the studentâ€™s grade. Dynamically allocates an array of Structs large enough to hold the information.

The user should then be given the option to:

1. sort the array of structs by student name in ascending order (A-Z).
2. sort the array of structs by student grade in descending order (100-0) while at the same time showing the name of the student for that grade.
3. calculate the class average.
4. store the sorted information (name in ascending with student grade) in a text file.

#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
#include <algorithm>

using namespace std;

struct Student
{
char firstName[101], lastName[101];
};

void bubbleSortV2(Student array[], int size);
void sortArray(Student array[], int size);

int main()
{

Student *data;
int numStudents, firstChoice, secondChoice;
char repeat;

data = nullptr;

do
{
cout << "How many students?: ";
cin >> numStudents;

data = new Student[numStudents];

for (int i = 0; i < numStudents; i++)
{
cout << "\nEnter first name of student #" << i + 1 << " ";
cin >> data[i].firstName;

cout << "Enter second name of student #" << i + 1 << " ";
cin >> data[i].lastName;

cout << "Enter grade of student #" << i + 1 << " ";
}

cout << "\n\t---Choose an option from below to begin---\n";
cout << "1. Sort Students by first name\n";
cout << "2. Sort Students by last name\n";
cout << "3. Sort Students bt grade\n";
cout << "4. Calculate grade average\n";
cout << "5. Write data into text file\n";
cout << "0. Exit program\n";
cin >> firstChoice;

//Validation
while (firstChoice < 0 || firstChoice > 5)
{
cout << "\nYou have entered an invalid number. Please try again\n";
cout << "\n\t---Choose an option from below to begin---\n";
cout << "1. Sort Students by first name\n";
cout << "2. Sort Students by last name\n";
cout << "3. Sort Students bt grade\n";
cout << "4. Calculate grade average\n";
cout << "5. Write data into text file\n";
cout << "0. Exit program\n";
cin >> firstChoice;
}

switch (firstChoice)
{
case 1:cout << "\nSorting students by first name...\n" ;
bubbleSortV2(data, numStudents);
break;
case 2:cout << "\nSorting students by last name...\n";

break;
case 3:cout << "\nSorting students by grade...\n";
sortArray(data, numStudents); break;
case 4:cout << "\nCalculating grade average...\n";

break;

//Open up a second menu so the user can choose how to write the data into the file
case 5:cout << "\n\t---How would you like to data to be written into the text file?---\n";
cout << "1. Unsorted\n";
cout << "2. Sorted by first name\n";
cout << "3. Sorted by last name\n";
cout << "4. Sorted by grade\n";
cin >> secondChoice;

//Validation
while (secondChoice < 0 || secondChoice > 4)
{
cout << "\nYou have entered an invalid number. Please try again\n";
cout << "\n\t---How would you like to data to be written into the text file?---\n";
cout << "1. Unsorted\n";
cout << "2. Sorted by first name\n";
cout << "3. Sorted by last name\n";
cout << "4. Sorted by grade\n";
cin >> firstChoice;
}

switch (secondChoice)
{

case 1: //Open up file to write into it

cout << "Data has been written successfully\n";
break;
case 2: //Open up file to write into it

cout << "Data has been written successfully\n";
break;
case 3: //Open up file to write into

cout << "Data has been written successfully\n";
break;
case 4: // Open up file to write into it

cout << "Data has been written successfully\n";
break;
case 0:

break;

}
break;
case 0:cout << "Now exiting...\n";

//Delete allocated memory before exiting
delete[] data;
}

//Delete allocated memory before exiting
delete[] data;
cout << "\n\nWould you like to try again? (Y/N)";
cin >> repeat;

} while (toupper(repeat) == 'Y');

return 0;
}

void sortArray(Student array[], int size)
{
Student temp;

do
{
for (int count = 0; count < (size - 1); count++)
{
{
temp = array[count];
array[count] = array[count + 1];
array[count + 1] = temp;
}
}

//Display array
for (int count = 0; count < size; count++)
cout << array[count].grade << " " << array[count].firstName << " "
<< array[count].lastName << " " << endl;
}

void bubbleSortV2(Student array[], int size)
{
Student temp;

do
{
for (int count = 0; count < (size - 1); count++)
{
if (array[count].firstName > array[count + 1].firstName)
{
temp = array[count];
array[count] = array[count + 1];
array[count + 1] = temp;