Advertisement
Guest User

Untitled

a guest
Nov 21st, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <windows.h>
  4. using namespace std;
  5.  
  6. struct STUDENT { // Структура студент
  7. string FIO;// Фамилия
  8. int group;// группа
  9. int marks[5];// оценки
  10. int sum;
  11. };
  12.  
  13. STUDENT Copy(STUDENT st) { // копирование для сортировки
  14. STUDENT newSt;
  15. newSt.FIO = st.FIO;
  16. for (int i = 0; i < 5; i++) {
  17. newSt.marks[i] = st.marks[i];
  18. }
  19. newSt.group = st.group;
  20. cout << st.FIO;
  21. return newSt;
  22. }
  23.  
  24. void Input(STUDENT &st) {//ввод студентов
  25.  
  26. cin >> st.FIO;
  27. cin >> st.group;
  28. for (int i = 0; i < 5; i++) {
  29. cin >> st.marks[i];
  30. }
  31. for (int i = 0; i < 5; i++) {
  32. st.sum += st.marks[i];
  33. }
  34. }
  35.  
  36. void Sort(STUDENT studs[], int len) { // сортировка
  37.  
  38. for (int i = 0; i < len; i++) {
  39. for (int j = 0; j < len-1; j++) {
  40. if (studs[j].sum > studs[j+1].sum) {
  41. STUDENT buf = Copy(studs[j]);
  42. studs[j] = studs[j+1];
  43. studs[j+1] = buf;
  44. }
  45. }
  46. }
  47. }
  48.  
  49.  
  50. bool Good(STUDENT st) { // поиск хорошистов и отличников
  51. int count = 0;
  52. for (int i = 0; i < 5; i++)
  53. if (st.marks[i] == 4 || st.marks[i] == 5)
  54. count++;
  55. if (count == 5)
  56. return true; // если количество "4" и "5" равняется общему количеству оценок (5) то это хорошист
  57. return false;
  58. }
  59.  
  60. void Output(STUDENT &st) { //вывод
  61. cout << st.FIO << " " << st.group << " ";
  62. for (int j = 0; j < 5; j++) {
  63. cout << st.marks[j] << " ";
  64. }
  65. cout << "\n";
  66. }
  67.  
  68. void Output_Good(STUDENT &st) { //вывод хорошистов
  69. cout << st.FIO << " " << st.group;
  70. cout << "\n";
  71. }
  72.  
  73. int main(int argc, CHAR* argv[]) {
  74. const int len = 10;
  75.  
  76. STUDENT students[len];
  77.  
  78. for (int i = 0; i < len; i++) {
  79. Input(students[i]);
  80. }
  81.  
  82. Sort(students, len);
  83.  
  84. for (int i = 0; i < len; i++) {
  85. Output(students[i]);
  86. }
  87.  
  88. int GoodCount = 0;
  89.  
  90. for (int i = 0; i < len; i++) {
  91. if (Good(students[i])) {
  92. Output_Good(students[i]);
  93. GoodCount++;
  94. }
  95. }
  96.  
  97. if (GoodCount == 0) {
  98. cout << "No\n";
  99. }
  100. system("pause");
  101. return 0;
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement