Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.cpp
- // TakeHomeQuiz
- //
- // Created by Adrian Salazar on 11/20/17.
- // Copyright © 2017 Adrian Salazar. All rights reserved.
- //
- #include <iostream>
- #include <iomanip>
- using namespace std;
- const int SIZE = 7;
- struct students{
- int studentID;
- string fName;
- string lName;
- float GPA;
- bool isEnrolled;
- };
- // Function Prototype
- void loadArray(students []);
- void printArray(students []);
- void sortByGPA(students []);
- void printHalf(students []);
- int main()
- {
- /// Unsorted Array
- students studs[SIZE];
- loadArray(studs);
- cout << "\n\n";
- cout << setw(5) << " " << "\t\tUNSORTED ARRAY.\n" << endl << endl;
- printArray(studs);
- /// Sorting by GPA
- sortByGPA(studs);
- cout << "\n\n";
- cout << setw(5) << " " << "\t\tSORTED BY GPA.\n\n\n";
- printArray(studs);
- /// Print out those who are enrolled sorted by GPA here. No function needed
- cout << "\n\n";
- cout << setw(3) << " " << "\t\tSORTED BY GPA AND ENROLLED.\n";
- cout << endl << endl;
- studs[0].studentID = 88345;
- studs[0].fName = "Irma";
- studs[0].lName = "Gonzalez";
- studs[0].GPA = 4.00;
- studs[0].isEnrolled = 1;
- studs[1].studentID = 23145;
- studs[1].fName = "Bernie";
- studs[1].lName = "Sanders";
- studs[1].GPA = 3.94;
- studs[1].isEnrolled = 1;
- studs[2].studentID = 22145;
- studs[2].fName = "Donna";
- studs[2].lName = "Johnson";
- studs[2].GPA = 3.51;
- studs[2].isEnrolled = 1;
- studs[3].studentID = 44325;
- studs[3].fName = "Peter";
- studs[3].lName = "Pan";
- studs[3].GPA = 2.34;
- studs[3].isEnrolled = 1;
- printHalf(studs);
- cout << "\n\n\n";
- return 0;
- }
- ///Print array function. Iterates through indices to print each element
- void printArray(students arr[]){
- cout << fixed << setprecision(2);
- cout << setw(13) << right << "Student ID" << setw(8) << "fName"
- << setw(13) << "lName" << setw(12) << "GPA" << setw(11)
- << "Enrolled" << endl;
- cout << setw(3) << " " << "---------------------------------------------"
- "------------" << endl;
- for(int i = 0; i < SIZE; i++){
- cout << setw(13) << right << arr[i].studentID << setw(8) << arr[i].fName << setw(13)
- << arr[i].lName << setw(12) << arr[i].GPA << setw(11) << arr[i].isEnrolled << endl;
- }
- }
- ///Print half. Just prints the first 4 indices, after array has been sorted by enrolled
- void printHalf(students arr[]){
- cout << fixed << setprecision(2);
- cout << setw(13) << right << "Student ID" << setw(8) << "fName"
- << setw(13) << "lName" << setw(12) << "GPA" << setw(11)
- << "Enrolled" << endl;
- cout << setw(3) << " " << "---------------------------------------------"
- "------------" << endl;
- for(int i = 0; i < 4; i++){
- cout << setw(13) << right << arr[i].studentID << setw(8) << arr[i].fName << setw(13)
- << arr[i].lName << setw(12) << arr[i].GPA << setw(11) << arr[i].isEnrolled << endl;
- }
- }
- ///Loads the array with all the data for all students
- void loadArray(students arr[]){
- arr[0].studentID = 12345;
- arr[0].fName = "Joe";
- arr[0].lName = "Doe";
- arr[0].GPA = 3.34;
- arr[0].isEnrolled = 0;
- arr[1].studentID = 22145;
- arr[1].fName = "Donna";
- arr[1].lName = "Johnson";
- arr[1].GPA = 3.51;
- arr[1].isEnrolled = 1;
- arr[2].studentID = 44325;
- arr[2].fName = "Peter";
- arr[2].lName = "Pan";
- arr[2].GPA = 2.34;
- arr[2].isEnrolled = 1;
- arr[3].studentID = 23145;
- arr[3].fName = "Bernie";
- arr[3].lName = "Sanders";
- arr[3].GPA = 3.94;
- arr[3].isEnrolled = 1;
- arr[4].studentID = 72345;
- arr[4].fName = "Karen";
- arr[4].lName = "Thomas";
- arr[4].GPA = 3.55;
- arr[4].isEnrolled = 0;
- arr[5].studentID = 88345;
- arr[5].fName = "Irma";
- arr[5].lName = "Gonzalez";
- arr[5].GPA = 4.00;
- arr[5].isEnrolled = 1;
- arr[6].studentID = 12345;
- arr[6].fName = "Tony";
- arr[6].lName = "Hacker";
- arr[6].GPA = 3.11;
- arr[6].isEnrolled = 0;
- }
- ///Sorts the data by GPA and loads into the array
- void sortByGPA(students arr[]){
- /*
- arr[0].studentID = 88345;
- arr[0].fName = "Irma";
- arr[0].lName = "Gonzalez";
- arr[0].GPA = 4.00;
- arr[0].isEnrolled = 1;
- arr[1].studentID = 23145;
- arr[1].fName = "Bernie";
- arr[1].lName = "Sanders";
- arr[1].GPA = 3.94;
- arr[1].isEnrolled = 1;
- arr[2].studentID = 72345;
- arr[2].fName = "Karen";
- arr[2].lName = "Thomas";
- arr[2].GPA = 3.55;
- arr[2].isEnrolled = 0;
- arr[3].studentID = 22145;
- arr[3].fName = "Donna";
- arr[3].lName = "Johnson";
- arr[3].GPA = 3.51;
- arr[3].isEnrolled = 1;
- arr[4].studentID = 12345;
- arr[4].fName = "Joe";
- arr[4].lName = "Doe";
- arr[4].GPA = 3.34;
- arr[4].isEnrolled = 0;
- arr[5].studentID = 12345;
- arr[5].fName = "Tony";
- arr[5].lName = "Hacker";
- arr[5].GPA = 3.11;
- arr[5].isEnrolled = 0;
- arr[6].studentID = 44325;
- arr[6].fName = "Peter";
- arr[6].lName = "Pan";
- arr[6].GPA = 2.34;
- arr[6].isEnrolled = 1;
- */
- int temp;
- bool madeSwap;
- do{
- madeSwap = false;
- for(int i = 0; i < (SIZE - 1); i++){
- if(arr[i].GPA > arr[i+1].GPA){
- temp = arr[i].GPA;
- arr[i].GPA = arr[i+1].GPA;
- arr[i+1].GPA = temp;
- madeSwap = true;
- }
- }
- } while(madeSwap);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement