Главная страница

ООП. Лабораторная работа 1. Лабораторная работа 1 по дисциплине Объектноориентированное программирование студент группы Проверил преподаватель


Скачать 154 Kb.
НазваниеЛабораторная работа 1 по дисциплине Объектноориентированное программирование студент группы Проверил преподаватель
Дата06.06.2022
Размер154 Kb.
Формат файлаdoc
Имя файлаЛабораторная работа 1.doc
ТипЛабораторная работа
#572822

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

Учреждение образования

«Белорусский государственный университет информатики и радиоэлектроники»

Факультет инфокоммуникаций

Кафедра инфокоммуникационных технологий

Лабораторная работа №1


по дисциплине: «Объектно-ориентированное программирование»


Выполнил:

студент группы:

Проверил: преподаватель

Минск 2022


Часть 1. Среда разработки Visual Studio. Создание простейшей программы средствами MFC.



Упражнение 1. Необходимо вставить еще одну кнопку с названием Beep c итендификатором IDC_BEEP_BUTTON, при нажатии на которую компьютер подает сигнал через диамик компьютера. Функция для подачи сигнала - MessageBeep((WORD)-2);

Упражнение 2. Необходимо вставить еще одну кнопку, на нажатие которой появляется сообщение вида:

Код программы:
void ChelloworldDlg::OnClickedSayhelloButton()

{

MessageBox(L"Say Hello");// TODO: добавьте свой код обработчика уведомлений

}

void ChelloworldDlg::OnClickedBeepButton()

{

// TODO: Add your control notification handler code here

MessageBeep((WORD)-2);

}

void ChelloworldDlg::OnClickedMessageButton()

{

// TODO: добавьте свой код обработчика уведомлений

MessageBox(L"Say Hello",L"My first project", MB_YESNOCANCEL | MB_ICONSTOP);

}

Результат выполнения:



Часть 2. Среда разработки Visual Studio 2017



Код программы:
#include

#include
int main()

{

std::cout << "Hello world!\n";

return 0;

}
Результат выполнения:




Часть 3. Введение в тип данных КЛАСС



Уровень 1

Упражнение: написать объектную программу, иллюстрирующую прямой и косвенный способы обращения к методам. Пользовательский класс должен содержать необходимые элементы – данные, метод установки их начальных значений, метод просмотра текущего состояния полей класса, метод, решающий поставленную задачу. Описание метода должно быть вне класса.
3) Сегодня вы заступили на должность главврача больницы "Healthy like a bull". И первое что бы вы хотели узнать – это процент выздоравивших больных и симулянтов от общего числа пациентов. Чтобы все отделения могли быстро выдать вам правильный результат, не запутавшись в этих процентах и делениях, создайте класс с 3 полями (типа int): convalescents, sick, simulators и метод, который вернет количество выздоравивших, больных и симулянтов в % от общего числа пациентов. На всякий случай, общее количество пациентов convalescents sick simulators    ;
Код программы

// bolnica.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.

//
#include
class Bolnye

{ public:

int convalescents;

int sick;

int simulators;

double one, two, tree;

void Metod();
};

void Bolnye::Metod()

{

if (simulators == 0, convalescents == 0, sick == 0) std::cout << "Все выздоровели!!.";

else

{


one = sick * 100 / (convalescents + sick + simulators);

std::cout <<"%Больных=" << one << std::endl;

two= convalescents * 100/ (convalescents + sick + simulators);

std::cout << "%Здоровых=" << two << std::endl;

tree = simulators * 100 / (convalescents + sick + simulators);

std::cout << "%Симулянтов=" << tree << std::endl;

}

}

int main()

{

setlocale(LC_ALL, "ru");

Bolnye*metod = new Bolnye;

std::cout << "Введите Больных: ";

std::cin >> metod->sick;

std::cout << "Введите Симулянтов: ";

std::cin >> metod->simulators;

std::cout << "Введите Здоровых: ";

std::cin >> metod->convalescents;

metod->Metod();

delete metod;

}

Результат выполнения:


Уровень 2

Упражнение: написать объектную программу, иллюстрирующую прямой и косвенный способы обращения к методам. Пользовательский класс должен содержать необходимые элементы – данные, метод установки их начальных значений, метод просмотра текущего состояния полей класса, метод, решающий поставленную задачу. Описание метода должно быть вне класса.

Выполнение задания уровня 2 должно происходить в классах, созданных для выполнения уровень 1, весь функционал и поля уровень 1 должны быть сохранены.

3) Вы получили статистику пациентов, а что насчет персонала? Сколько людей на вас вообще работает? Это необходимо срочно выяснить, да еще и в процентном отношении. Ваша задача: Добавить 3 поля (тип int): Doctor, Nurse, MedicalOrderly и метод, который выведет количество сотрудников каждого типа в процентах от общего количества сотрудников;

Код программы

// bolnica2.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.

//
#include

using namespace std;

class Bolnye

{

public:

int convalescents;

int sick;

int simulators;

double one, two, tree;

int Doctor;

int Nurse;

int MedicalOrderly;
void Metod();
};

void Bolnye::Metod()

{

if (simulators == 0, convalescents == 0, sick == 0) std::cout << "Все выздоровели!!.";

else

{

one = sick * 100 / (convalescents + sick + simulators);

std::cout << "%Больных=" << one << std::endl;

two = convalescents * 100 / (convalescents + sick + simulators);

std::cout << "%Здоровых=" << two << std::endl;

tree = simulators * 100 / (convalescents + sick + simulators);
std::cout << "%Симулянтов=" << tree << std::endl;
}

if (Doctor == 0, Nurse == 0, sick == 0) std::cout << "Все выздоровели!!.";

else

{

one = MedicalOrderly * 100 / (Nurse + MedicalOrderly + Doctor);

std::cout << "%Персонала=" << one << std::endl;

two = Nurse * 100 / (Nurse + MedicalOrderly + Doctor);

std::cout << "%Медсестер=" << two << std::endl;

tree = Doctor * 100 / (Nurse + MedicalOrderly + Doctor);
std::cout << "%Врачей=" << tree << std::endl;
}

}

int main()

{

setlocale(LC_ALL, "ru");

Bolnye*metod = new Bolnye;

std::cout << "Введите Больных: ";

std::cin >> metod->sick;

std::cout << "Введите Симулянтов: ";

std::cin >> metod->simulators;

std::cout << "Введите Здоровых: ";

std::cin >> metod->convalescents;

std::cout << "Введите Персонал: ";

std::cin >> metod->MedicalOrderly;

std::cout << "Введите Врачей: ";

std::cin >> metod->Doctor;

std::cout << "Введите Медсестер: ";

std::cin >> metod->Nurse;

metod->Metod();

delete metod;

}



Уровень 3

Два бандита Джек и Фрэнк решили выехать отдохнуть на природу. Пока жа­рился шашлык, Джек и Фрэнк решили пострелять по банкам из-под кока-колы чтобы убить время. Они поставили банки на бревно (не больше 15) первый начал стрелять справа, второй начал стрелять слева. В один момент они оба выстрелили в последнюю банку из-за чего началась ссора. Джек утверждал, что Фрэнк теперь дол­жен отдать ему свой шампур шашлыка за то, что тот лишил его удовольствия в про­стреливании последней банки. В ответ Фрэнк сказал, что это Джек должен отдать ему свой шампур шашлыка по тем же причинам. В итоге они решили что Джек от­даст свой шампур с шашлыком Фрэнку, а Фрэнк Джек отдаст свой шампур с шаш­лыком Джеку. Теперь осталось только убрать банки, вот только из за ссоры никто не помнил сколько именно банок они поставили для стрельбы. Каждый из них пом­нил только сколько банок он подстрелил сам. Давайте поможем Джеку и Френку узнать сколько банок у них было изначально и сколько банок не успел подстрелить Джек и сколько банок не успел подстрелить Френк.

Ваша задача: создать класс Relaxation в котором будет 2 поля (тип int): Frank и Jack в которых будет хранится информация о том, сколько банок подстрелил каждый из них. Так же класс должен содержать метод который выведет сколько банок не успел подстрелить Frank и сколько банок не успел подстрелить Jack.

Входные данные: 2 числа - количество банок, простреленных Фрэнком и Джеком соответственно.

Выходные данные: 3 числа - количество банок, не подстреленных Фрэнком и Джеком соответственно и общее количество банок.


Input

Output

4 7

6 3 10


Листинг программы:

// jack.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.

//

#include
using namespace std;
class Relaxation

{

public:

int Frank, Jack;
void metod();
};
void Relaxation::metod()

{

setlocale(LC_ALL, "ru");
int Summa = Frank + Jack - 1;

cout << "Всего было " << Summa << " банок" << endl;

cout << "Frank не успел подстрелить " << Summa - Frank << " банок" << endl;

cout << "Jack не успел подстрелить " << Summa - Jack << " банки" << endl;

}

int main()

{

Relaxation Popal;

Popal.Frank = 4;

Popal.Jack = 7;

Popal.metod();

}

Результат выполнения:


Вывод: изучили основы программирования в среде Visual Studio 2017, научились создавать простейшие проекты.


написать администратору сайта