Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <time.h>
- #include <conio.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <locale.h>
- #include <cstring>
- #include <string>
- #include <fstream>
- using namespace std;
- struct Student
- {
- char FIO[30];
- int Ball[5];
- float SrBall;
- };
- void addStudent(Student St[], int size)
- {
- for (int k = 0; k < size; k++)
- {
- cout << "Введите фамилию" << endl; cin.get(); cin.get(St[k].FIO, 30); cin.get();
- St[k].SrBall = 0;
- cout << "Введите баллы (5 штук)" << endl;
- for (int i = 0; i < 5; i++)
- {
- cin >> St[k].Ball[i];
- St[k].SrBall += St[k].Ball[i];
- }
- St[k].SrBall /= 5;
- }
- }
- void showStudent(Student St[], int size)
- {
- cout << endl << "Список студентов" << endl;
- for (int y = 0; y < size; y++)
- St[y].SrBall = 0;
- for (int k = 0; k < size; k++)
- {
- for (int j = 0; j < 5; j++)
- {
- St[k].SrBall += St[k].Ball[j];
- }
- St[k].SrBall /= 5;
- cout << endl << St[k].FIO << " - " << St[k].SrBall << " -";
- for (int i = 0; i < 5; i++)
- cout << ' ' << St[k].Ball[i];
- }
- }
- void sortSrBall(Student St[], int size)
- {
- Student tmp;
- for (int i = 0; i < size - 1; i++)
- for (int j = i + 1; j < size; j++)
- if (St[i].SrBall < St[j].SrBall)
- {
- tmp = St[i];
- St[i] = St[j];
- St[j] = tmp;
- }
- }
- void searchMaxBall(Student St[], int size, int key)
- {
- if (key < 0 || key > 5)
- {
- cout << "Предмет не найден" << endl;
- return;
- }
- string FIO = St[0].FIO;
- int MaxSrBall = St[0].Ball[key - 1];
- for (int i = 0; i < size - 1; i++)
- {
- if (St[i].SrBall > MaxSrBall)
- {
- MaxSrBall = St[i].Ball[key - 1];
- FIO = St[0].FIO;
- }
- }
- cout << FIO << " - " << MaxSrBall; cout << endl;
- }
- void inFile(Student St[], int size)
- {
- ofstream file;
- file.open("C:\\User\\Desktop\\Структуры\\lists.txt", fstream::in | fstream::out);
- if (!file.is_open())
- {
- cout << "error!" << endl;
- return;
- }
- for (int i = 0; i < size; i++)
- {
- file << St[i].FIO;
- for (int k = 0; k < 5; k++)
- file << ' ' << St[i].Ball[k];
- file << endl;
- }
- file.close();
- return;
- }
- void onFile(Student St[], int n)
- {
- int i = 0, j = 0;
- ifstream infile;
- infile.open("C:\\User\\Desktop\\Структуры\\lists.txt");
- while (!infile.eof())
- {
- infile >> St[i].FIO >> St[i].Ball[0] >> St[i].Ball[1] >> St[i].Ball[2] >> St[i].Ball[3] >> St[i].Ball[4];
- i++;
- }
- }
- int main()
- {
- setlocale(LC_ALL, "Russian");
- int N = 25;
- Student* G = new Student[N];
- int count = 0;
- int key = 0; char value;
- cout << "Вариант ввода:\n1)Ручной\n2)Из файла\n";
- cin >> value;
- cout << "Количество студентов: ";
- cin >> count;
- cout << "Порядковый номер предмета: ";
- cin >> key;
- if (value == '1')
- {
- addStudent(G, count);
- }
- else {
- onFile(G, count);
- }
- showStudent(G, count);
- sortSrBall(G, count);
- showStudent(G, count);
- cout << endl;
- cout << "\nМаксимальный балл у ";
- searchMaxBall(G, count, key); cout << endl;
- inFile(G, count);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment