void Student::input()
{ cin.get();
cout << "Фамилия: "; getline(cin, fam);
cout << "Имя: "; cin >> name;
cout << "Оценки за 5 экзаменов: ";
for (int i=0;i<5;i++)
cin >> oc[i];
}
void Student::output()
{ cout << left << setw(12)<< fam;
cout << setw(12) << name;
cout << setw(3) << sr_ball();
cout << endl;
}
float Student::sr_ball()
{ float ball = 0;
for (int i=0;i<5;i++)
ball = ball + oc[i];
ball = ball/5;
return ball;
}
// main.cpp
#include "student.h"
#include <iostream>
#include <iomanip>
#include <string>
#include <cstdlib>
using namespace std;
int compare(const void* s1, const void* s2)
{ if (((Student*)s1)->getfam() < ((Student*)s2)->getfam()) return -1;
else if (((Student*)s1)->getfam() > ((Student*)s2)->getfam()) return 1;
else return 0;
}
int main()
{
int n;
cout << "Введите кол-во студентов: ";
cin >> n;
Student* st = new Student[n]; //массив объектов
cout << "Введите информацию о студентах:\n";
for(int i = 0; i<n; i++)
st[i].input();
cout << "Список студентов: \n";
cout << left << setw(12) << "Фамилия" << setw(12)<< "Имя" << setw(3)<< "Рейтинг" << endl;
qsort(st,n,sizeof(Student), compare);
for(int i = 0; i<n; i++)
st[i].output();
float min = st[0].sr_ball();
for(int i = 0; i<n; i++)
if (st[i].sr_ball() < min)
min = st[i].sr_ball();
cout << "Список студентов с минимальным рейтингом: \n";
cout << left << setw(12) << "Фамилия" << setw(12)<< "Имя" << setw(3)<< "Рейтинг" << endl;
for(int i = 0; i<n; i++)
if (st[i].sr_ball() == min)
st[i].output();
cout << "Укажите фамилию студента: ";
string fam;
cin >> fam;
int fl = 0;
for(int i = 0; i<n; i++)
{ string f =st[i].getfam();
if (f == fam)
{ cout << "Рейтинг студента " << fam << " - " << st[i].sr_ball() << "\n";
fl = 1;
}
}
if (fl == 0) cout << "\nНет в списке студента " << fam;
delete [] st;
//объект, инициализированный конструктором без параметров
Student st1;
cout << "Студент: \n";
cout << left << setw(12) << "Фамилия" << setw(12)<< "Имя" << setw(3)<< "Рейтинг" << endl;
st1.output();
int oc [5]={34, 35, 67, 56, 45};
//объект, инициализированный конструктором с параметрами
Student* st2 = new Student("Иванова","Анна", oc);
cout << "Студент: \n";
cout << left << setw(12) << "Фамилия" << setw(12)<< "Имя" << setw(3)<< "Рейтинг" << endl;
st2->setfam("Мухина");
st2->output();
delete st2;
}
Рисунок 2 – Результат выполнения программы
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.