-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


массивы,списки и наследование в с++

Суббота, 16 Января 2021 г. 17:10 + в цитатник
Erikamaria: Есть задача:

Определить базовый класс для студента ( имя, факультет, факультетный номер и номер группы). Определить производный класс (Успеваемость, заданный двумя массивами оценок по всем дисциплинам за два семестра (количество оценок в каждом семестре равно 5)). Классы должны включать конструкторы без параметров для заполнения переменных-членов в диалоговом окне. Написать методы для отображения среднего успеха для каждой группы, а также максимального и минимального среднего успеха для данной группы. Метод, чтобы отобразить оценки для каждого учащегося и для учащихся из данной группы. Переопределите операцию <<, которая будет использоваться для отображения данных. Сохранить данные в файле.

Создала класс Студент и дочерний класс Успех.

    #include
    #include
    #include
    class Students {
    public:
    void set_name(std::string student_name)
    {
    name = student_name;
    }
    std::string get_name()
    {
    return name;
    }
    void set_fnum(int student_fnum)
    {
    fnum = student_fnum;
    }
    int get_fnum()
    {
    return fnum;
    }
    void set_group(int student_group)
    {
    group = student_group;
    }
    int get_group()
    {
    return group;
    }
    void set_fakultet(std::string student_fakultet){
    fakultet=student_fakultet;
    }
    std::string get_fakultet(){
    return fakultet;
    }
    private:
    std::string name;
    int fnum;
    int group;
    std::string fakultet;
    };
    class Uspeh:public Students{
    int sem_1[5];
    int sem_2[5];
    float avrg;
    public:
    void set_sem_1(int student_sem_1[])
    {
    for (int i = 0; i < 5; ++i) {
    sem_1[i] = student_sem_1[i];
    }
    }
    void set_sem_2(int student_sem_2[])
    {
    for (int i = 0; i < 5; ++i) {
    sem_2[i] = student_sem_2[i];
    }
    }
    void set_avrg(float ball)
    {
    avrg = ball;
    }
    float get_avrg()
    {
    return avrg;
    }
    void addStudent(){
    Uspeh student; // Создание объекта класса Student
    std::string name;
    int fnum;
    int group;
    std::string fakultet;
    std::cout << "Name: ";
    getline(std::cin, name);
    std::cout << "Fak nomer: ";
    std::cin >> fnum;
    std::cout << "Group: ";
    std::cin >> group;
    std::cout << "Fakultet: ";
    getline(std::cin, fakultet);
    // Сохранение имени и фамилии в объект класса Uspeh
    student.set_name(name);
    student.set_fnum(fnum);
    student.set_group(group);
    student.set_fakultet(fakultet);
    int sem1[5];
    int sem2[5];
    int sum = 0;
    // Ввод промежуточных оценок
    std::cout<<"Оценки за 1 семестр:"<div>
    for (int i = 0; i < 5; ++i) {
    std::cout << "Score " << i+1 << ": ";
    std::cin >> sem1[i];
    // суммирование
    sum += sem1[i];
    }
    std::cout<<"Оценки за 2 семестр:"<div>
    for (int i = 0; i < 5; ++i) {
    std::cout << "Score " << i+1 << ": ";
    std::cin >> sem2[i];
    // суммирование
    sum += sem2[i];
    }
    // Сохраняем промежуточные оценки в объект класса Student
    student.set_sem_1(sem1);
    student.set_sem_2(sem2);
    // Считаем средний балл
    float average_ball = sum / 10.0;
    // Сохраняем средний балл в объект класса Students
    student.set_avrg(average_ball);
    }
    };



В общем это все, до чего я дошла. Где теперь хранить объекты типа Успех? Чтобы потом была возможность отсортировать по успеваемости.

https://forum.sources.ru/index.php?showtopic=421105&view=findpost&p=3843687

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку