Seal_of_approval

p78e11(2)

Mar 16th, 2015
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <iomanip>
  5. using namespace std;
  6.  
  7. struct student
  8. {
  9. int grp;
  10. string lastname;
  11. string firstname;
  12. string middlename;
  13. int year;
  14. int marks[5];
  15. int sum;
  16. };
  17.  
  18. void sort(vector<student>& group)
  19. {
  20. for (int i = 0; i < group.size() - 1; i++)
  21. for (int j = group.size()-1; j > i; j--)
  22. if (group[j].lastname.compare(group[j - 1].lastname) < 0)
  23. swap (group[j].lastname, group[j - 1].lastname);
  24.  
  25. }
  26.  
  27. void print(vector<student>& group)
  28. {
  29. for (int i = 0; i < group.size(); i++)
  30. {
  31. cout << setw(4) << left << group[i].grp << setw(12) << group[i].lastname.c_str() << setw(10) << group[i].firstname.c_str() << setw(15) << group[i].middlename.c_str() << setw(5) << group[i].year;
  32. for (int j=0;j<5;j++)
  33. cout << group[i].marks[j] << " ";
  34. cout << setw(4) << group[i].sum;
  35. cout << endl;
  36. }
  37. }
  38.  
  39.  
  40. int main(void)
  41. {
  42. freopen("input.txt","r",stdin);
  43. freopen("output.txt","w",stdout);
  44. vector<student> group;
  45.  
  46. student t;
  47.  
  48. while(cin >> t.grp >> t.lastname >> t.firstname >> t.middlename >> t.year >> t.marks[0] >> t.marks[1] >> t.marks[2] >> t.marks[3] >> t.marks[4])
  49. {
  50. t.sum = 0;
  51. for (int i = 0; i < 5; i++)
  52. t.sum += t.marks[i];
  53. group.push_back(t);
  54. }
  55. print(group);
  56. sort(group);
  57. cout<<"\n-----\n";
  58. print(group);
  59. }
Advertisement
Add Comment
Please, Sign In to add comment