Guest User

Untitled

a guest
Mar 25th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.27 KB | None | 0 0
  1. #include "targetver.h"
  2. #include <stdio.h>
  3. #include <tchar.h>
  4. #include <fstream>
  5. #include <istream>
  6. #include <ostream>
  7. #include <time.h>
  8. #include <string>
  9. #include <iostream>
  10. using namespace std;
  11.  
  12.  
  13. class StudenR
  14. {
  15. string Name;
  16. int NumGroup;
  17. string Sex;
  18. int Marks[5];
  19. public:
  20. StudenR();
  21. StudenR(ifstream &fin);
  22. bool Read(ifstream &fin);
  23. void Write(ofstream &fout);
  24. int AvMark(ifstream &fin);
  25. void SetMarks(int &marks);
  26. int GetMarks(int i) { return Marks[i]; }
  27. ~StudenR();
  28. };
  29.  
  30. #include "stdafx.h"
  31. #include "StudenR.h"
  32. using namespace std;
  33.  
  34. StudenR::StudenR()
  35. {
  36. Name = "<unknown>";
  37. NumGroup = 0;
  38. Sex = 'x';
  39. for (int i = 0; i < 5; i++)
  40. Marks[i] = 0;
  41. }
  42. StudenR::StudenR(ifstream &fin) {
  43. fin >> Name;
  44. fin >> NumGroup;
  45. fin >> Sex;
  46. for (int i=0; i < 5; i++) {
  47. fin >> Marks[i];
  48. }
  49. }
  50. bool StudenR::Read(ifstream &fin) {
  51. if (!(fin >> Name))return false;
  52. if (!(fin >> NumGroup))return false;
  53. if (!(fin >> Sex))
  54. return false;
  55. for (int i = 0; i < 5; i++)
  56. if (!(fin >> Marks[i]))return false;
  57. return true;
  58. }
  59. int StudenR::AvMark(ifstream &fin) {
  60. int AvMark = 0;
  61. for (int i = 0; i < 5; i++) {
  62. fin >> Marks[i];
  63. AvMark += Marks[i];
  64.  
  65. }
  66. AvMark /= 5;
  67. return AvMark;
  68.  
  69. }
  70. void StudenR::SetMarks(int &marks) {
  71. for (int i = 0; i<5; i++)
  72. this->Marks[i] = marks;
  73. }
  74.  
  75. void StudenR::Write(ofstream &fout) {
  76. fout << Name << " " << NumGroup << " " << Sex << " ";
  77. for (int i = 0; i < 5; i++) {
  78. fout << Marks[i] << " ";
  79. }
  80. fout << endl;
  81. }
  82. StudenR::~StudenR()
  83. {
  84. }
  85.  
  86.  
  87. #include "stdafx.h"
  88. #include "StudenR.h"
  89. using namespace std;
  90.  
  91. void Read1(StudenR*students, ifstream &fin, int &n);
  92. void Write(StudenR*students, ofstream &fout, int n);
  93. void WriteAvM(ofstream&fout, StudenR*students, int n, ifstream&fin);
  94. void Sort(StudenR*&studets, int n);
  95. int main()
  96. {
  97. ifstream fin("Text.txt");
  98. ofstream fout("res.txt");
  99.  
  100. StudenR *students = new StudenR[100];
  101.  
  102. int n = 0;
  103. Read1(students, fin, n);
  104. Write(students, fout, n);
  105. fout << endl << endl << endl;
  106.  
  107. WriteAvM(fout, students, n, fin);
  108. fout << endl << endl << endl;
  109. Sort( students, n);
  110. Write(students, fout, n);
  111.  
  112. fin.close();
  113. fout.close();
  114.  
  115. delete[]students;
  116. return 0;
  117. }
  118.  
  119. void Read1(StudenR *students, ifstream &fin, int &n) {
  120. n = 0;
  121. for (; !fin.eof(); n++) {
  122. if (!students[n].Read(fin))return;
  123. }
  124. }
  125. void Write(StudenR *students, ofstream &fout, int n) {
  126. for (int i = 0; i < n; i++)
  127. students[i].Write(fout);
  128. }
  129.  
  130.  
  131. void WriteAvM(ofstream &fout, StudenR *students, int n, ifstream&fin) {
  132. for (int i = 0; i < n; i++) {
  133. students[i].Write(fout);
  134. int AvMark = students[i].AvMark(fin);
  135. fout << "AvMark" << i + 1 << "=" << AvMark << endl;
  136. }
  137. }
  138. void Sort( StudenR*&students, int n) {
  139. for (int i = 0; i < n-1; i++) {
  140. for (int j = 0; j < n - 1-i; j++) {
  141. if (students[j].AvMark<students[j + 1].AvMark){//здесь выдает ошибку
  142.  
  143.  
  144. StudenR s = students[j];
  145. students[j] = students[j + 1];
  146. students[j + 1] = s;
  147.  
  148. }
  149. }
  150.  
  151. }
  152. }
  153.  
  154. if (students[j].AvMark<students[j + 1].AvMark)
  155.  
  156. if (students[j].AvMark(fin)<students[j + 1].AvMark(fin))
Add Comment
Please, Sign In to add comment