Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "targetver.h"
- #include <stdio.h>
- #include <tchar.h>
- #include <fstream>
- #include <istream>
- #include <ostream>
- #include <time.h>
- #include <string>
- #include <iostream>
- using namespace std;
- class StudenR
- {
- string Name;
- int NumGroup;
- string Sex;
- int Marks[5];
- public:
- StudenR();
- StudenR(ifstream &fin);
- bool Read(ifstream &fin);
- void Write(ofstream &fout);
- int AvMark(ifstream &fin);
- void SetMarks(int &marks);
- int GetMarks(int i) { return Marks[i]; }
- ~StudenR();
- };
- #include "stdafx.h"
- #include "StudenR.h"
- using namespace std;
- StudenR::StudenR()
- {
- Name = "<unknown>";
- NumGroup = 0;
- Sex = 'x';
- for (int i = 0; i < 5; i++)
- Marks[i] = 0;
- }
- StudenR::StudenR(ifstream &fin) {
- fin >> Name;
- fin >> NumGroup;
- fin >> Sex;
- for (int i=0; i < 5; i++) {
- fin >> Marks[i];
- }
- }
- bool StudenR::Read(ifstream &fin) {
- if (!(fin >> Name))return false;
- if (!(fin >> NumGroup))return false;
- if (!(fin >> Sex))
- return false;
- for (int i = 0; i < 5; i++)
- if (!(fin >> Marks[i]))return false;
- return true;
- }
- int StudenR::AvMark(ifstream &fin) {
- int AvMark = 0;
- for (int i = 0; i < 5; i++) {
- fin >> Marks[i];
- AvMark += Marks[i];
- }
- AvMark /= 5;
- return AvMark;
- }
- void StudenR::SetMarks(int &marks) {
- for (int i = 0; i<5; i++)
- this->Marks[i] = marks;
- }
- void StudenR::Write(ofstream &fout) {
- fout << Name << " " << NumGroup << " " << Sex << " ";
- for (int i = 0; i < 5; i++) {
- fout << Marks[i] << " ";
- }
- fout << endl;
- }
- StudenR::~StudenR()
- {
- }
- #include "stdafx.h"
- #include "StudenR.h"
- using namespace std;
- void Read1(StudenR*students, ifstream &fin, int &n);
- void Write(StudenR*students, ofstream &fout, int n);
- void WriteAvM(ofstream&fout, StudenR*students, int n, ifstream&fin);
- void Sort(StudenR*&studets, int n);
- int main()
- {
- ifstream fin("Text.txt");
- ofstream fout("res.txt");
- StudenR *students = new StudenR[100];
- int n = 0;
- Read1(students, fin, n);
- Write(students, fout, n);
- fout << endl << endl << endl;
- WriteAvM(fout, students, n, fin);
- fout << endl << endl << endl;
- Sort( students, n);
- Write(students, fout, n);
- fin.close();
- fout.close();
- delete[]students;
- return 0;
- }
- void Read1(StudenR *students, ifstream &fin, int &n) {
- n = 0;
- for (; !fin.eof(); n++) {
- if (!students[n].Read(fin))return;
- }
- }
- void Write(StudenR *students, ofstream &fout, int n) {
- for (int i = 0; i < n; i++)
- students[i].Write(fout);
- }
- void WriteAvM(ofstream &fout, StudenR *students, int n, ifstream&fin) {
- for (int i = 0; i < n; i++) {
- students[i].Write(fout);
- int AvMark = students[i].AvMark(fin);
- fout << "AvMark" << i + 1 << "=" << AvMark << endl;
- }
- }
- void Sort( StudenR*&students, int n) {
- for (int i = 0; i < n-1; i++) {
- for (int j = 0; j < n - 1-i; j++) {
- if (students[j].AvMark<students[j + 1].AvMark){//здесь выдает ошибку
- StudenR s = students[j];
- students[j] = students[j + 1];
- students[j + 1] = s;
- }
- }
- }
- }
- if (students[j].AvMark<students[j + 1].AvMark)
- if (students[j].AvMark(fin)<students[j + 1].AvMark(fin))
Add Comment
Please, Sign In to add comment