Код почти готов, но не знаю как быть дальше. В структуре я указываю количество студентов, потом заполняю поля:
Фамилия, Группа, Оценка1, Оценка2, Оценка3. Sr- средний бал за экзамены. Думал сначала сделать Sr как поле, чтобы потом можно было
отсортировать структуру по среднему баллу в порядке спадания. Но что-то всё же не так сделал в структуре. Код прилагаю:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
setlocale(0, ".1251");
struct student
{
char surname, gr;
int ex1, ex2, ex3, sr;
};
int kol = 0;
cout << "Введiть кiлькiсть студентiв: ";
cin >> kol;
student *z = new student[kol];
setlocale(0, ".1251");
cout << "Введiть почергово рядки з вiдомостями про успiшнiсть " << kol
<< " студентiв: \nПрiзвище \tГрупа \tОцiнка1 \tОцiнка2 \tОцінка3" << endl;
for (int i = 0; i < kol; i++)
{
puts(z[i].surname, z[i].gr, &z[i].ex1, &z[i].ex2, &z[i].ex3, &z[i].sr);
}
int Count = 0;
double sr;
for (int i = 0; i < kol; i++)
{
if (z[i].ex1 >= 60 && z[i].ex2 >= 60 && z[i].ex3 >= 60)
{
Count++;
z[i].sr = (z[i].ex1 + z[i].ex2 + z[i].ex3) / 3.0;
setlocale(0, ".OCP");
printf("%s\t%s\t%i\t%i\t%i\t%i\n", z[i].surname, z[i].gr, z[i].ex1, z[i].ex2, z[i].ex3, z[i].sr);
}
}
char* tempS, tempG;
int temp1, temp2, temp3, tempSr;
for (int i = 0; i < Count; i++)
{
for (int j = 0; j < Count - i; j++)
{
if (z[i].sr < z[i + 1].sr)
{
tempS = z[i].surname;
z[i].surname = z[i + 1].surname;
z[i + 1].surname = tempS;
tempG = z[i].gr;
z[i].gr = z[i + 1].gr;
z[i + 1].gr = tempG;
temp1 = z[i].ex1;
z[i].ex1 = z[i + 1].ex1;
z[i + 1].ex1 = temp1;
temp2 = z[i].ex2;
z[i].ex2 = z[i + 1].ex2;
z[i + 1].ex2 = temp2;
temp3 = z[i].ex3;
z[i].ex3 = z[i + 1].ex3;
z[i + 1].ex3 = temp3;
tempSr = z[i].sr;
z[i].sr = z[i + 1].sr;
z[i + 1].sr = tempSr;
}
}
}
for (int i = 0; i < kol; i++)
{
if (z[i].ex1 >= 60 && z[i].ex2 >= 60 && z[i].ex3 >= 60)
{
z[i].sr = (z[i].ex1 + z[i].ex2 + z[i].ex3) / 3.0;
setlocale(0, ".OCP");
printf("%s\t%s\t%i\t%i\t%i\t%i\n", z[i].surname, z[i].gr, z[i].ex1, z[i].ex2, z[i].ex3, z[i].sr);
}
}
system("pause");
return 0;
}
UPD: Готовые функции и методы не подходят