Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

OOP / Лаб 1

.docx
Скачиваний:
30
Добавлен:
10.02.2016
Размер:
18.35 Кб
Скачать

Министерство образования и науки Украины

Одесский национальный политехнический университет

Кафедра системного программного обеспечения.

Протокол лабораторной работы № 1

По дисциплине:

Объектно-ориентированное программирование

Вариант 10

Выполнил

студент AC-121

Куценко Дмитрий Сергеевич

Преподаватель Кунгурцев О. Б.

Одесса 2013 (год)

Лабораторная работа №1 ”Классы. Язык С++”

Исходные данные для лабораторной работы

Заводом выпускаются различные измерительные приборы. Каждый прибор может характеризоваться приведенными ниже данными.

1.Наименование прибора.

  1. Габариты: длина, высота, ширина.

  1. Вес.

  2. Стоимость.

  3. Гарантийный срок.

  4. Диапазон температур: tmin, tmax.

  5. Источник питания: напряжение, ток, частота.

  6. Измерения. Имеется несколько измеряемых величин. Каждая характеризуется:

названием измеряемой величины;

нижним пределом;

верхним пределом;

погрешностью.

  1. Покупные изделия. Имеется несколько покупных изделий. Каждое характеризуется:

названием;

количеством;

названием поставщика

  1. Заказчик. Имеется несколько заказчиков. Каждый характеризуется:

Наименованием;

адресом;

количеством заказанных приборов.

Выполнение лабораторной работы

Создать класс в соответствии с заданием. Предусмотреть 2 - 3 конструктора, методы изменения и извлечения данных, представляющих свойства прибора. Создать несколько объектов класса. Продемонстрировать работу с объектами.

Таблица 1. Характеристики приборов, реализуемые в варианте задания

№ варианта

Характеристики прибора

10

1,3,8

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

/*

1.Наименование прибора.

3. Вес.

8. Измерения. Имеется несколько измеряемых величин. Каждая характеризуется:

названием измеряемой величины;

нижним пределом;

верхним пределом;

погрешностью.

Создать класс в соответствии с заданием.

Предусмотреть 2 - 3 конструктора, методы изменения и извлечения данных, представляющих свойства прибора.

Создать несколько объектов класса.

Продемонстрировать работу с объектами*/

#include <iostream>

#include <string>

#include <locale>

using namespace std;

// начало объявления класса

class Pribor // имя класса

{

private: // спецификатор доступа public

string name;

public:

Pribor( string prib_name)// конструктор класса имя

{

setPrib(prib_name);// вызов функции

}

void setPrib(string prib_name)

{

name = prib_name;// инициализация имени

}

void getName()

{

setlocale( LC_ALL,"Russian" );

cout<<"\n----------------------------------------------------------------------------\n";

cout<<"Имя:"<<name<<"|*|";

}

private:

float ves;

public:

Pribor(float prib_ves) //конструктор класса Вес

{

setPribVes(prib_ves);

}

void setPribVes(float prib_ves)

{

ves = prib_ves;

}

void getVes()

{

setlocale( LC_ALL,"Russian" );

cout<<"Вес:"<<ves<<"|*|";

}

private:

float niz,verx; int pogr;

public:

Pribor(float prib_niz, float prib_verx, int prib_pogr)//конструктор класса Измерения

{

setPribIzm(prib_niz,prib_verx,prib_pogr);

}

void setPribIzm(float prib_niz, float prib_verx, int prib_pogr)

{

niz = prib_niz;

verx = prib_verx;

pogr = prib_pogr;

}

void getIzm()

{

setlocale( LC_ALL,"Russian" );

cout<<"Нижний придел:"<<niz<<"|*|"<<"Верхний придел:"<<verx<<"|*|"<<"Погрешность:"<<pogr;

}

};// конец объявления класса

void main()

{

setlocale( LC_ALL,"Russian" );

string name; float ves; int n;float niz; float verx; int pogr;

cout<<"Введите количество приборов:\n";

cin>>n;

Pribor objPribor(name);

Pribor *Pribors[50];// массив ссылок приборы

for (int i = 0; i < n; i ++)

{

cout<<"Прибор №"<<1+i;

cout<<"\n**********************";

cout<<"\nВведите название прибора:";

cin>>name;

cout<<"\nВведите вес прибора:";

cin>>ves;

cout<<"\nВведите нижний придел измерений:";

cin>>niz;

cout<<"\nВведите верхний придел измерений:";

cin>>verx;

cout<<"\nВведите погрешность измерений:";

cin>>pogr;

Pribors[i] = new Pribor(name);//выделение памяти под объект прибор

Pribors[i]->setPribVes(ves);

Pribors[i]->setPribIzm(niz,verx,pogr);

}

for (int i = 0; i < n; i ++){

Pribors[i]->getName();//вывод информации

Pribors[i]->getVes();

Pribors[i]->getIzm();

}

}

Соседние файлы в папке OOP