Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.67 KB | None | 0 0
  1. //
  2. // main.cpp
  3. // TakeHomeQuiz
  4. //
  5. // Created by Adrian Salazar on 11/20/17.
  6. // Copyright © 2017 Adrian Salazar. All rights reserved.
  7. //
  8. #include <iostream>
  9. #include <iomanip>
  10.  
  11. using namespace std;
  12. const int SIZE = 7;
  13.  
  14. struct students{
  15. int studentID;
  16. string fName;
  17. string lName;
  18. float GPA;
  19. bool isEnrolled;
  20. };
  21.  
  22. // Function Prototype
  23. void loadArray(students []);
  24. void printArray(students []);
  25. void sortByGPA(students []);
  26. void printHalf(students []);
  27.  
  28. int main()
  29. {
  30.  
  31. /// Unsorted Array
  32.  
  33. students studs[SIZE];
  34. loadArray(studs);
  35. cout << "\n\n";
  36. cout << setw(5) << " " << "\t\tUNSORTED ARRAY.\n" << endl << endl;
  37. printArray(studs);
  38.  
  39. /// Sorting by GPA
  40.  
  41. sortByGPA(studs);
  42. cout << "\n\n";
  43. cout << setw(5) << " " << "\t\tSORTED BY GPA.\n\n\n";
  44. printArray(studs);
  45.  
  46.  
  47. /// Print out those who are enrolled sorted by GPA here. No function needed
  48. cout << "\n\n";
  49. cout << setw(3) << " " << "\t\tSORTED BY GPA AND ENROLLED.\n";
  50. cout << endl << endl;
  51.  
  52. studs[0].studentID = 88345;
  53. studs[0].fName = "Irma";
  54. studs[0].lName = "Gonzalez";
  55. studs[0].GPA = 4.00;
  56. studs[0].isEnrolled = 1;
  57.  
  58. studs[1].studentID = 23145;
  59. studs[1].fName = "Bernie";
  60. studs[1].lName = "Sanders";
  61. studs[1].GPA = 3.94;
  62. studs[1].isEnrolled = 1;
  63.  
  64. studs[2].studentID = 22145;
  65. studs[2].fName = "Donna";
  66. studs[2].lName = "Johnson";
  67. studs[2].GPA = 3.51;
  68. studs[2].isEnrolled = 1;
  69.  
  70. studs[3].studentID = 44325;
  71. studs[3].fName = "Peter";
  72. studs[3].lName = "Pan";
  73. studs[3].GPA = 2.34;
  74. studs[3].isEnrolled = 1;
  75.  
  76. printHalf(studs);
  77.  
  78. cout << "\n\n\n";
  79.  
  80. return 0;
  81. }
  82.  
  83. ///Print array function. Iterates through indices to print each element
  84.  
  85. void printArray(students arr[]){
  86.  
  87. cout << fixed << setprecision(2);
  88. cout << setw(13) << right << "Student ID" << setw(8) << "fName"
  89. << setw(13) << "lName" << setw(12) << "GPA" << setw(11)
  90. << "Enrolled" << endl;
  91. cout << setw(3) << " " << "---------------------------------------------"
  92. "------------" << endl;
  93.  
  94. for(int i = 0; i < SIZE; i++){
  95. cout << setw(13) << right << arr[i].studentID << setw(8) << arr[i].fName << setw(13)
  96. << arr[i].lName << setw(12) << arr[i].GPA << setw(11) << arr[i].isEnrolled << endl;
  97. }
  98. }
  99.  
  100. ///Print half. Just prints the first 4 indices, after array has been sorted by enrolled
  101.  
  102. void printHalf(students arr[]){
  103.  
  104. cout << fixed << setprecision(2);
  105. cout << setw(13) << right << "Student ID" << setw(8) << "fName"
  106. << setw(13) << "lName" << setw(12) << "GPA" << setw(11)
  107. << "Enrolled" << endl;
  108. cout << setw(3) << " " << "---------------------------------------------"
  109. "------------" << endl;
  110.  
  111. for(int i = 0; i < 4; i++){
  112. cout << setw(13) << right << arr[i].studentID << setw(8) << arr[i].fName << setw(13)
  113. << arr[i].lName << setw(12) << arr[i].GPA << setw(11) << arr[i].isEnrolled << endl;
  114. }
  115. }
  116.  
  117. ///Loads the array with all the data for all students
  118.  
  119. void loadArray(students arr[]){
  120. arr[0].studentID = 12345;
  121. arr[0].fName = "Joe";
  122. arr[0].lName = "Doe";
  123. arr[0].GPA = 3.34;
  124. arr[0].isEnrolled = 0;
  125.  
  126. arr[1].studentID = 22145;
  127. arr[1].fName = "Donna";
  128. arr[1].lName = "Johnson";
  129. arr[1].GPA = 3.51;
  130. arr[1].isEnrolled = 1;
  131.  
  132. arr[2].studentID = 44325;
  133. arr[2].fName = "Peter";
  134. arr[2].lName = "Pan";
  135. arr[2].GPA = 2.34;
  136. arr[2].isEnrolled = 1;
  137.  
  138. arr[3].studentID = 23145;
  139. arr[3].fName = "Bernie";
  140. arr[3].lName = "Sanders";
  141. arr[3].GPA = 3.94;
  142. arr[3].isEnrolled = 1;
  143.  
  144. arr[4].studentID = 72345;
  145. arr[4].fName = "Karen";
  146. arr[4].lName = "Thomas";
  147. arr[4].GPA = 3.55;
  148. arr[4].isEnrolled = 0;
  149.  
  150. arr[5].studentID = 88345;
  151. arr[5].fName = "Irma";
  152. arr[5].lName = "Gonzalez";
  153. arr[5].GPA = 4.00;
  154. arr[5].isEnrolled = 1;
  155.  
  156. arr[6].studentID = 12345;
  157. arr[6].fName = "Tony";
  158. arr[6].lName = "Hacker";
  159. arr[6].GPA = 3.11;
  160. arr[6].isEnrolled = 0;
  161.  
  162. }
  163.  
  164. ///Sorts the data by GPA and loads into the array
  165.  
  166. void sortByGPA(students arr[]){
  167.  
  168. /*
  169. arr[0].studentID = 88345;
  170. arr[0].fName = "Irma";
  171. arr[0].lName = "Gonzalez";
  172. arr[0].GPA = 4.00;
  173. arr[0].isEnrolled = 1;
  174.  
  175. arr[1].studentID = 23145;
  176. arr[1].fName = "Bernie";
  177. arr[1].lName = "Sanders";
  178. arr[1].GPA = 3.94;
  179. arr[1].isEnrolled = 1;
  180.  
  181. arr[2].studentID = 72345;
  182. arr[2].fName = "Karen";
  183. arr[2].lName = "Thomas";
  184. arr[2].GPA = 3.55;
  185. arr[2].isEnrolled = 0;
  186.  
  187. arr[3].studentID = 22145;
  188. arr[3].fName = "Donna";
  189. arr[3].lName = "Johnson";
  190. arr[3].GPA = 3.51;
  191. arr[3].isEnrolled = 1;
  192.  
  193. arr[4].studentID = 12345;
  194. arr[4].fName = "Joe";
  195. arr[4].lName = "Doe";
  196. arr[4].GPA = 3.34;
  197. arr[4].isEnrolled = 0;
  198.  
  199. arr[5].studentID = 12345;
  200. arr[5].fName = "Tony";
  201. arr[5].lName = "Hacker";
  202. arr[5].GPA = 3.11;
  203. arr[5].isEnrolled = 0;
  204.  
  205. arr[6].studentID = 44325;
  206. arr[6].fName = "Peter";
  207. arr[6].lName = "Pan";
  208. arr[6].GPA = 2.34;
  209. arr[6].isEnrolled = 1;
  210. */
  211.  
  212. int temp;
  213.  
  214. bool madeSwap;
  215.  
  216. do{
  217. madeSwap = false;
  218. for(int i = 0; i < (SIZE - 1); i++){
  219. if(arr[i].GPA > arr[i+1].GPA){
  220. temp = arr[i].GPA;
  221. arr[i].GPA = arr[i+1].GPA;
  222. arr[i+1].GPA = temp;
  223. madeSwap = true;
  224. }
  225. }
  226.  
  227. } while(madeSwap);
  228.  
  229. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement