Наследование классов. Пример лабораторной 2

Содержание

Слайд 2

float rait; //рейтинг студента (среднее по баллам, полученным на экзаменах)
public:

float rait; //рейтинг студента (среднее по баллам, полученным на экзаменах) public: void
void Exam(); //функция ввода баллов по предметам
void CalcRait(); //функция вычисления рейтинга студента
void ReadSt(); // функция ввода информации о студенте с клавиатуры
void WriteSt(); // функция вывода информации о студенте на экран
};
class DayStud:public Student //класс, описывающий свойства студента дневной
// формы обучения
{int stip; //стипендия студента
public:
void CalcStip(); //функция вычисления стипендии студента
void WriteSt(); //переопределенная функция вывода информации о студенте
};
// Определение методов классов
void Subject::Read()
{ cout<<" Введите информацию\n Имя";
cin>>name;
cout<<"\n Возраст";
cin>> age;
cout<<"\nАдрес";
cin>>adress;
}

Слайд 3

void Subject::Write() { cout<<" Имя "<

void Subject::Write() { cout >numb; cout cin>>group; } void Student::WriteSt() { Write();
void Student::ReadSt() { Read(); cout<<"\nНомер зач.книжки"; cin>>numb;
cout<<"\nГруппа";
cin>>group;
}
void Student::WriteSt() { Write(); cout<<"Номер зач.книжки "<}
void Student::CalcRait() { rait=0; for(int i=0;i{ for (int j=0;j { cout<<"\nПредмет N"< cin>>balls[j];
}}
void DayStud::CalcStip()
{if (rait>=90) stip=300;
else if (rait>=76)
stip=200;
else stip=0;
}
void DayStud::WriteSt()
{ Student::WriteSt();
cout<<"Стипендия"<}

Слайд 4

//пример использования определенных выше классов
main()
{ const int m=10; //будем работать с 10-ю

//пример использования определенных выше классов main() { const int m=10; //будем работать
студентами
int i;
DayStud gr[m];
for(i=0;i gr[i].ReadSt(); //вводим информацию о каждом студенте
for(i=0;i { cout<<"Экзамены"< gr[i].Exam(); //проводим экзамены (вводим информацию о баллах, полученных
//каждым студентом на экзаменах
}
for(i=0;i gr[i].CalcRait(); //вычисляем рейтинг каждого студента
for(i=0;i gr[i].CalcStip(); //вычисляем стипендию каждого из студентов
for(i=0;i gr[i].WriteSt(); //выводим информацию о каждом студенте на экран
}

Слайд 5

В приведенном выше примере определены три класса. Класс Subject является корнем

В приведенном выше примере определены три класса. Класс Subject является корнем всей
всей системы классов, в нем объединены свойства и методы, описывающие «субъекта», то есть свойства, присущие каждому человеку: имя, возраст, адрес, и методы, позволяющие обрабатывать эту информацию (вводить с клавиатуры, выводить на экран).
От класса Subject порожден класс Student, в котором определены свойства, присущие каждому студенту: номер зачетки, название группы, в которой учится студент, оценки, полученные им на экзаменах, рейтинг студента, вычисленный по результатам сессии. В классе также определен ряд методов, позволяющих изменять перечисленные свойства: вводить с клавиатуры, рассчитывать, выводить на экран. При этом, некоторые методы класса Student вызывают методы, унаследованные от родительского класса Subject. Так, например, для ввода информации о студенте в классе определена функция ReadSt, в которой непосредственно вводятся с клавиатуры лишь те компонентные данные, которые определены в классе Student. Для ввода значения компонент, унаследованных от Subject (очевидно, что для каждого студента необходимо хранить имя, возраст, адрес) вызывается унаследованный метод Read.
Третий класс называется DayStud является конкретизацией класса Student в плане описания свойств студента дневного отделения. В частности, для студента дневного отделения определено компонентное данное stip (стипендия), значение которого вычисляется в компонентной функции этого же класса CalcStip в зависимости от текущего рейтинга студента.

Слайд 7

Visual C++. MFC. Программирование циклических процессов

Переменная x меняется от xn до

Visual C++. MFC. Программирование циклических процессов Переменная x меняется от xn до
xk с шагом dx. Вывести таблицу значений x и y=esin(x), вычислить сумму и произведение y.

Создадим диалоговое окно (мое имеет название ListBProg) и разместим на нем следующие компоненты:
3 метки (Static Text);
3 поля ввода (Edit Control);
1 список (List Box);
3 кнопки (Button).

Слайд 8

Добавим для полей ввода (Edit Control) переменные m_edit_xn, m_edit_xk,m_edit_dx, которые будут

Добавим для полей ввода (Edit Control) переменные m_edit_xn, m_edit_xk,m_edit_dx, которые будут возвращать
возвращать значение float. В функцию кнопки «Выход» впишем строку OnOK() для того чтобы программа завершала свою работу по нажатию соответствующей клавиши.
Изменим ID кнопок «Решить» и «Очистить» на ID_Solve и ID_Clear, а также добавим переменную m_Result для компонента List Box

Слайд 9

Установите в свойствах List Box значение «Сортировка» в false, так как иначе

Установите в свойствах List Box значение «Сортировка» в false, так как иначе
содержимое будет сортироваться по алфавиту, а «С полосой прокрутки» в true.

Слайд 10

Зададим начальные значения полей ввода. Для этого откроем файл *Dlg.cpp и в

Зададим начальные значения полей ввода. Для этого откроем файл *Dlg.cpp и в
функцию OnInitDialog перед оператором return впишем следующий код:

Щелкаем по кнопке «Решить» и вводим следующий текст.