Advertisement
Guest User

Untitled

a guest
Nov 21st, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.33 KB | None | 0 0
  1. /*******************************************************************************
  2. * Take Home Quiz *
  3. * *
  4. * *
  5. * @Author: Jared M. Cabrera *
  6. * @Date: November 19, 2017 *
  7. ********************************************************************************
  8. */
  9.  
  10.  
  11. #include <iostream>
  12. #include <iomanip>
  13. #include <fstream>
  14.  
  15. using namespace std;
  16.  
  17.  
  18. struct students{
  19. int studentID;
  20. string fName;
  21. string lName;
  22. float GPA;
  23. bool isEnrolled;
  24. };
  25.  
  26. // Function Prototype
  27. void loadArray(students []);
  28. void printArray(students[], bool);
  29. void SortbyGPA(students[], int size);
  30.  
  31. int main()
  32. {
  33. const int SIZE = 7;
  34. students studs[SIZE];
  35. loadArray(studs);
  36. cout << "\n";
  37. cout << setw(5) << " " << "\t\tUNSORTED ARRAY." << endl;
  38. cout << endl;
  39.  
  40. cout << showpoint << setprecision(3);
  41.  
  42. // Call printArray here
  43. printArray(studs, false);
  44.  
  45. cout << "\n";
  46. cout << setw(5) << " " << "\t\tSORTED BY GPA." << endl;
  47. cout << endl;
  48.  
  49. // Call sortByGPA here
  50. SortbyGPA(studs, SIZE);
  51.  
  52. // Call printArray here
  53. printArray(studs, false);
  54.  
  55. cout << endl;
  56.  
  57. /*// It might be beneficial to have this code inside printArray.
  58. cout << "\n\n";
  59. cout << setw(5) << " " << "\t\tSORTED BY GPA AND ENROLLED.";
  60. cout << endl << endl;
  61. cout << fixed << setprecision(2);
  62. cout << setw(13) << right << "Student ID" << setw(8) << "fName"
  63. << setw(13) << "lName" << setw(12) << "GPA" << setw(11)
  64. << "Enrolled" << endl;
  65. cout << setw(5) << " " << "-------------------------------------------"
  66. "------------" << endl;
  67. */
  68.  
  69. // Print out those who are enrolled sorted by GPA here. No function needed
  70. cout << setw(5) << " " << "\t\tSORTED BY GPA AND ENROLLED.";
  71. cout << endl << endl;
  72. printArray(studs, true);
  73. return 0;
  74. }
  75.  
  76. void loadArray(students arr[]){
  77. arr[0].studentID = 12345;
  78. arr[0].fName = "Joe";
  79. arr[0].lName = "Doe";
  80. arr[0].GPA = 3.34;
  81. arr[0].isEnrolled = 0;
  82.  
  83. arr[1].studentID = 22145;
  84. arr[1].fName = "Donna";
  85. arr[1].lName = "Johnson";
  86. arr[1].GPA = 3.51;
  87. arr[1].isEnrolled = 1;
  88.  
  89. arr[2].studentID = 44325;
  90. arr[2].fName = "Peter";
  91. arr[2].lName = "Pan";
  92. arr[2].GPA = 2.34;
  93. arr[2].isEnrolled = 1;
  94.  
  95. arr[3].studentID = 23145;
  96. arr[3].fName = "Bernie";
  97. arr[3].lName = "Sanders";
  98. arr[3].GPA = 3.94;
  99. arr[3].isEnrolled = 1;
  100.  
  101. arr[4].studentID = 72345;
  102. arr[4].fName = "Karen";
  103. arr[4].lName = "Thomas";
  104. arr[4].GPA = 3.55;
  105. arr[4].isEnrolled = 0;
  106.  
  107. arr[5].studentID = 88345;
  108. arr[5].fName = "Irma";
  109. arr[5].lName = "Gonzalez";
  110. arr[5].GPA = 4.00;
  111. arr[5].isEnrolled = 1;
  112.  
  113. arr[6].studentID = 12345;
  114. arr[6].fName = "Tony";
  115. arr[6].lName = "Hacker";
  116. arr[6].GPA = 3.11;
  117. arr[6].isEnrolled = 0;
  118.  
  119. }
  120.  
  121. void printArray(students arr[], bool enrollCheck){
  122.  
  123. cout << setw(13) << right << "Student ID" << setw(8) << "fName"
  124. << setw(13) << "lName" << setw(12) << "GPA" << setw(11)
  125. << "Enrolled" << endl;
  126. cout << setw(5) << " " << "-------------------------------------------"
  127. "------------" << endl;
  128.  
  129. for(int i = 0; i<7; i++){
  130. if (enrollCheck == true && arr[i].isEnrolled > 0){
  131. cout << setw(13) << right << arr[i].studentID << setw(8) << arr[i].fName
  132. << setw(13) << arr[i].lName << setw(12) << arr[i].GPA << setw(11)
  133. << arr[i].isEnrolled << endl;
  134. }
  135. else if (enrollCheck == false){
  136. cout << setw(13) << right << arr[i].studentID << setw(8) << arr[i].fName
  137. << setw(13) << arr[i].lName << setw(12) << arr[i].GPA << setw(11)
  138. << arr[i].isEnrolled << endl;
  139. }
  140. }
  141. }
  142.  
  143. void SortbyGPA(students arr[], int size)
  144. {
  145. bool madeSwap;
  146.  
  147. do {
  148. madeSwap = false;
  149. for(int i = 0; i < (size-1); i++){
  150. if(arr[i].GPA < arr[i+1].GPA){
  151. swap (arr[i], arr[i+1]);
  152. madeSwap = true;
  153. }
  154. }
  155.  
  156. }while(madeSwap);
  157.  
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement