Phoenix_x

Untitled

Nov 29th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.69 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <string>
  3. #include <iostream>
  4.  
  5. using namespace std;
  6.  
  7. struct Student
  8. {
  9. string faculNum;
  10. string name;
  11. int grades[4];
  12. };
  13.  
  14. void enterData(Student studentData[], int &size_countStudents);
  15. void average(Student studentData[], int size_countStudents);
  16. void badGraders(Student studentData[], int size_countStudents);
  17. void sortAndPrintExcelentStudents(Student studentData[], int size_countStudents);
  18.  
  19. void main()
  20. {
  21. const int size_limit = 20;
  22. int size_countStudents = 0;
  23. Student studentData[size_limit];
  24.  
  25. while (true)
  26. {
  27. int option;
  28. cout << "Press 1 for entering information about students." << endl;
  29. cout << "Press 2 for printing average for all students" << endl;
  30. cout << "Press 3 for printing badgraders" << endl;
  31. cout << "Press 4 for printring excellent students sorted alphabetically" << endl;
  32. cin >> option;
  33.  
  34. switch (option)
  35. {
  36. case 1:
  37. enterData(studentData, size_countStudents);
  38. break;
  39. case 2:
  40. average(studentData, size_countStudents);
  41. break;
  42. case 3:
  43. badGraders(studentData, size_countStudents);
  44. break;
  45. case 4:
  46. sortAndPrintExcelentStudents(studentData, size_countStudents);
  47. break;
  48.  
  49. default:
  50. cout << "Invalid input" << endl;
  51. break;
  52. }
  53. }
  54. }
  55.  
  56. void enterData(Student studentData[], int &size_countStudents) //function for entering data about students
  57. {
  58. cout << "Number of students:"; //enter number of students
  59. cin >> size_countStudents; //change variable value to input
  60.  
  61. for (int i = 0; i < size_countStudents; i++)
  62. {
  63. cout << "Enter data about student " << i + 1 << ":" << endl;
  64.  
  65. cout << "Faculty number: ";
  66. cin >> studentData[i].faculNum;
  67.  
  68. cout << "Name: ";
  69. cin >> studentData[i].name;
  70.  
  71. cout << "Enter grades: ";
  72. cin >> studentData[i].grades[0];
  73. cin >> studentData[i].grades[1];
  74. cin >> studentData[i].grades[2];
  75. cin >> studentData[i].grades[3];
  76. }
  77.  
  78. cout << studentData[0].name << studentData[0].grades[0] << studentData[0].grades[1] << studentData[0].grades[2] << studentData[0].grades[3] << endl;
  79. }
  80.  
  81. void average(Student studentData[], int size_countStudents) //calc average for every student
  82. {
  83. for (int i = 0; i < size_countStudents; i++)
  84. {
  85. //calculate average:
  86. double sum = studentData[i].grades[0] + studentData[i].grades[1] + studentData[i].grades[2] + studentData[i].grades[3];
  87. double average = sum / 4;
  88.  
  89. //print:
  90. cout << studentData[i].faculNum << " " << studentData[i].name << " " << average << endl;
  91. }
  92. }
  93.  
  94. void badGraders(Student studentData[], int size_countStudents) //print student with low grades
  95. {
  96. for (int i = 0; i < size_countStudents; i++)
  97. {
  98. //calculate average:
  99. double sum = studentData[i].grades[0] + studentData[i].grades[1] + studentData[i].grades[2] + studentData[i].grades[3];
  100. double average = sum / 4;
  101.  
  102. //print:
  103. if (average < 3) //bad grades students
  104. {
  105. cout << studentData[i].faculNum << " " << studentData[i].name << endl;
  106. }
  107. }
  108. }
  109.  
  110. void sortAndPrintExcelentStudents(Student studentData[], int size_countStudents)
  111. {
  112. //sort
  113. for (int h = 0; h < size_countStudents; h++)
  114. {
  115. for (int l = 0; l < size_countStudents - 1; l++)
  116. {
  117. if (studentData[l].name > studentData[l + 1].name)
  118. {
  119. //swap students
  120. Student temp = studentData[l];
  121. studentData[l] = studentData[l + 1];
  122. studentData[l + 1] = temp;
  123. }
  124. }
  125. }
  126.  
  127. for (int i = 0; i < size_countStudents; i++)
  128. {
  129. //print:
  130. double sum = studentData[i].grades[0] + studentData[i].grades[1] + studentData[i].grades[2] + studentData[i].grades[3];
  131. double average = sum / 4;
  132.  
  133. if (average >= 5.50) //excellent students
  134. {
  135. cout << studentData[i].faculNum << " " << studentData[i].name << endl;
  136. }
  137. }
  138. }
Advertisement
Add Comment
Please, Sign In to add comment