Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include<string>
- #include<Windows.h>
- #include <cstdlib>
- #include<fstream>
- using namespace std;
- struct Students
- {
- string name, surname, lastname;
- int marks[5] = {};
- double sred[5] = {};
- };
- void print(Students students)
- {
- cout << students.surname << " " << students.name << " " << students.lastname << "\t";
- //fileout<< students.surname << " " << students.name << " " << students.lastname << "\t";
- }
- bool isExcellentStudent(Students student, int size)
- {
- for (int i = 0; i < size; i++)
- {
- if (student.marks[i] != 5) return false;
- }
- return true;
- }
- int main()
- {
- setlocale(0, "");
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- short i, k;
- double sredgr = 0;
- int count_student = 0, size = 5, count_debtors = 0, excellentStudent = 0;
- ofstream fileout;
- string filename = "Student.txt";
- fileout.open(filename, ofstream::app);
- if (!fileout.is_open())
- {
- cout << "Не удалось открыть файл!\n";
- }
- else
- {
- cout << "Введите кол-во студентов:\n";
- cin >> count_student;
- fileout << "Количество студентов:" << count_student;
- Students* arrayStudents = new Students[count_student];
- for (i = 0; i < count_student; i++)
- {
- cout << "ФИО " << 1 + i << " студента\n";
- cin >> arrayStudents[i].surname >> arrayStudents[i].name >> arrayStudents[i].lastname;
- cout << "Введите 5 оценок\n";
- for (k = 0; k < size; k++)
- cin >> arrayStudents[i].marks[k];
- }
- // средний балл каждого
- for (i = 0; i < count_student; i++)
- {
- double sredball = 0;
- for (k = 0; k < size; k++)
- {
- sredball += arrayStudents[i].marks[k];
- }
- arrayStudents[i].sred[i] = sredball / size;
- }
- cout << "\tФИО\t\t\t Оценки\t Средний балл ученика\n";
- fileout << "\tФИО\t\t\t Оценки\t Средний балл ученика\n";
- for (i = 0; i < count_student; i++)
- {
- print(arrayStudents[i]);
- for (k = 0; k < size; k++)
- {
- cout << arrayStudents[i].marks[k] << " ";
- fileout << arrayStudents[i].marks[k] << " ";;
- }
- cout << "\t\t\t" << arrayStudents[i].sred[i] << " ";
- fileout<< "\t\t\t" << arrayStudents[i].sred[i] << " ";
- cout << endl;
- }
- // средний балл группы
- for (i = 0; i < count_student; i++)
- sredgr += arrayStudents[i].sred[i];
- sredgr /= count_student;
- cout << "Средний балл группы:" << sredgr << endl;
- fileout<< "Средний балл группы:" << sredgr << endl;
- cout << "Студенты со средним баллом, чем средний по группе:" << endl;
- fileout<< "Студенты со средним баллом, чем средний по группе:" << endl;
- cout << "\n\tФИО\t\t\t Ср. балл\n";
- fileout<< "\n\tФИО\t\t\t Ср. балл\n";
- for (i = 0; i < count_student; i++)
- {
- if (arrayStudents[i].sred[i] > sredgr)
- {
- print(arrayStudents[i]);
- }
- }
- cout << "Список задолжников:" << endl;
- fileout<< "Список задолжников:" << endl;
- for (i = 0; i < count_student; i++)
- {
- for (k = 0; k < size; k++)
- {
- if (arrayStudents[i].marks[k] == 2)
- {
- count_debtors++;
- print(arrayStudents[i]);
- break;
- }
- }
- }
- if (count_debtors == 0)
- {
- cout << "Задолжности отсутствуют\n";
- fileout<< "Задолжности отсутствуют\n";
- }
- cout << endl;
- cout << "Список отличников:\n";
- fileout << "Список отличников:\n";
- for (i = 0; i < count_student; i++)
- {
- if (isExcellentStudent(arrayStudents[i], size))
- {
- excellentStudent++;
- print(arrayStudents[i]);
- }
- }
- if (excellentStudent == 0)
- {
- cout << "Отличников нет.\n";
- fileout<< "Отличников нет.\n";
- }
- delete[]arrayStudents;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement