Как найти минимальное и максимальное среднее число чисел , сортировка имен

#c

Вопрос:

 #include <iostream>
using namespace std;

class student
{
public:
    char Firstname[20];
    char Lastname[20];
    int sn;
    float avg;
public:
    void input()
    {
        cin >> this->Firstname >> this->Lastname >> this->sn;
    }

    int cal_sum()
    {
        float a, b, c, d, e, sum, avg;
        cout << "enter the scores : " << endl;
        cin >> a >> b >> c >> d >> e;
        sum = a   b   c   d   e;
        avg = sum / 5;
        cout << "avg = " << avg << endl;
        if (a <= b amp;amp; a <= c amp;amp; a <= d amp;amp; a <= e)
            cout << "min = " << a << endl;
        if (b <= a amp;amp; b <= c amp;amp; b <= d amp;amp; b <= e)
            cout << "min = " << b << endl;
        if (c <= a amp;amp; c <= b amp;amp; c <= d amp;amp; c <= e)
            cout << "min = " << c << endl;
        if (d <= a amp;amp; d <= b amp;amp; d <= c amp;amp; d <= e)
            cout << "min = " << d << endl;
        if (e <= a amp;amp; e <= b amp;amp; e <= c amp;amp; e <= d)
            cout << "min = " << e << endl;
        if (a >= b amp;amp; a >= c amp;amp; a >= d amp;amp; a >= e)
            cout << "max = " << a << endl;
        if (b >= a amp;amp; b >= c amp;amp; b >= d amp;amp; b >= e)
            cout << "max = " << b << endl;
        if (c >= a amp;amp; c >= b amp;amp; c >= d amp;amp; c >= e)
            cout << "max = " << c << endl;
        if (d >= a amp;amp; d >= b amp;amp; d >= c amp;amp; d >= e)
            cout << "max = " << d << endl;
        if (e >= a amp;amp; e >= b amp;amp; e >= c amp;amp; e >= d)
            cout << "max = " << e << endl;
        return (0);
    }
};

int main()
{
    student A, B, C, D, E, F, G, H, I, J;
    A.input();
    A.cal_sum();
    B.input();
    B.cal_sum();
    C.input();
    C.cal_sum();
    D.input();
    D.cal_sum();
    E.input();
    E.cal_sum();
    F.input();
    F.cal_sum();
    G.input();
    G.cal_sum();
    H.input();
    H.cal_sum();
    I.input();
    I.cal_sum();
    J.input();
    J.cal_sum();
}
 

Я хочу, чтобы в этой программе соблюдались следующие условия:

  1. получите информацию о 10 студентах(имя, номер студента, не менее 5 баллов)
  2. ввод и печать информации о студентах с помощью 2 различных функций
  3. рассчитайте средние баллы каждого студента
  4. найдите минимальное и максимальное количество баллов каждого студента
  5. найдите минимальный и максимальный средний балл среди всех студентов
  6. сортировка имен студентов
  7. получите конкретное имя студента или номер студента из записи и выполните поиск среди студентов

Я перепробовал много способов для последних трех условий, но я не знаю, как их установить.

Комментарии:

1. Массивы или (что еще лучше) std::vector еще не преподавались на вашем курсе?

2. @OP Что, если бы у вас было 100 или тысяча чисел, чтобы взять среднее значение? Вы бы создали 100 или тысячу переменных? Почему вы использовали массивы здесь char Firstname[20]; , а не имели массива float ?

3. @Scheff’Scat — Массивы были или, казалось, были обучены: char Firstname[20]; . Я предполагаю, что оперативная группа не знала назначения массивов.

4. student A, B, C, D, E, F, G, H, I, J; —> > student aStudent[10]; — Вы можете начать с этого, вместо объявления 10 отдельных student переменных. Опять же, вы уже используете массивы char , так что нет никаких оснований не использовать массивы здесь (и в других местах).

5. Тизер на колиру 😉