Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Тематика самостоятельных лабораторных работ по направлению 230100.62 «Информатика и вычислительная техника», профиля подготовки «Системотехника и автоматизация проектирования и управления в строительстве» на тему «Класс как средство описания некоторого объекта реального мира на примере моделирования устройств/модулей ПЭВМ»
Задание
Написать программу, моделирующую некоторый реальный объект с применением механизмов ООП языка Си++, таких как инкапсуляция и полиморфизм. Объектом модель которого необходимо построить, является деталь компьютера (по варианту).
Цель лабораторной работы
Получить практические знания и навыки по работе с классами и объектами Си++, как способом выражения реальных объектов.
Требования к программе
Дополнительные условия для зачёта работы
Самостоятельная лабораторная работа №1 выполняется индивидуально, по вариантам самостоятельно. После выполнения выносится на защиту.
Указания к поэтапному выполнению лабораторной работы
Часть № 1
Часть № 2
Пример программы моделирующей компакт-диск
Программа состоит из трёх файлов: cd_disk.h, cd_disk.cpp, main.cpp. В файле cd_disk.h находятся класс cd_disk который описывает модель диска.
Листинг № 6.1. Файл cd_disk.h.
#ifndef CD_DISK_H
#define CD_DISK_H
#include <iostream>
#include <string>
using namespace std;
class cd_disk
{
public:
enum phisicalSize {mini_cd = 8, standard = 12};
enum mediaType { audio_cd = 0,
photo_cd,
video_cd,
cd_rom,
cdr,
cdrw};
private:
// свойства CD-DISK'а
std::string recordNameDisk;
phisicalSize phisicalSizeDisk; // размер в сантиметрах
mediaType mediaTypeDisk; // тип диска
bool recordable; // записываемый диск
bool feature; // имеется в наличии
public:
cd_disk();
cd_disk(const string recNameDisk,
const phisicalSize pSize,
const mediaType mType,
const bool rec);
public:
~cd_disk();
void display() const; // вывести на экран
void toPlace() {feature = true;} // положить CD
void toTake() {feature = false;} // взять CD
// изменение свойств CD-disk'а
void setNameDisk(const string recNameDisk)
{recordNameDisk = recNameDisk;}
string getNameDisk() const
{return recordNameDisk;}
void setPhsicalSize(const phisicalSize pSize)
{phisicalSizeDisk = pSize;}
phisicalSize getPhsicleSize() const {return phisicalSizeDisk;}
void setMediaType(const mediaType mType);
mediaType getMediaType() const {return mediaTypeDisk;}
void setRec(const bool rec) {recordable = rec;}
bool getRec() const {return recordable;}
bool getFeature() const {return feature;}
friend ostream & operator<<(ostream & os, const cd_disk & dsk);
};
#endif // CD_DISK_H
В файле cd_disk.cpp находится реализация методов класса cd_disk.
Листинг № 6.2. Файл cd_disk.cpp.
#include "cd_disk.h"
using namespace std;
cd_disk::cd_disk(): recordNameDisk(""),
phisicalSizeDisk(standard),
mediaTypeDisk(audio_cd),
recordable(false),
feature(false)
{
//ctor
}
cd_disk::cd_disk(std::string recNameDisk,
phisicalSize pSize,
mediaType mType,
bool rec): recordNameDisk(recNameDisk),
phisicalSizeDisk(pSize),
mediaTypeDisk(mType),
recordable(rec),
feature(true)
{
// ctor
}
cd_disk::~cd_disk()
{
// dtor
}
void cd_disk::display() const
{
cout << "1| Название CD: " << getNameDisk() << endl;
cout << "2| Размер диска: " << getPhsicleSize() << " см." << endl;
std::string cd = "";
switch (getMediaType()){
case 0: cd = "Аудио компакт диск"; break;
case 1: cd = "Фото компакт диск"; break;
case 2: cd = "Видео компакт диск"; break;
case 3: cd = "Компьютерный компакт диск"; break;
case 4: cd = "Записываемый компакт диск"; break;
case 5: cd = "Перезаписываемый компакт диск"; break;
}
cout << "3| Тип диска: " << cd << endl;
std::string rc = "";
if (getRec()) rc = "да";
else rc = "Нет";
cout << "4| Перезаписываемый: " << rc << endl;
std::string ftr = "";
if (getFeature()) ftr = "да";
else ftr = "Нет";
cout << "5| Имеется в наличии: "<< ftr << endl;
}
void cd_disk::setMediaType(const mediaType mType)
{
mediaTypeDisk = mType;
if (mediaTypeDisk == cdrw)
recordable = true;
}
ostream & operator<<(ostream & os, const cd_disk & dsk)
{
os << "1| Название CD: " << dsk.getNameDisk() << endl;
os << "2| Размер диска: " << dsk.getPhsicleSize() << " см." << endl;
std::string cd = "";
switch (dsk.getMediaType()){
case 0: cd = "Аудио компакт диск"; break;
case 1: cd = "Фото компакт диск"; break;
case 2: cd = "Видео компакт диск"; break;
case 3: cd = "Компьютерный компакт диск"; break;
case 4: cd = "Записываемый компакт диск"; break;
case 5: cd = "Перезаписываемый компакт диск"; break;
}
os << "3| Тип диска: " << cd << endl;
std::string rc = "";
if (dsk.getRec()) rc = "да";
else rc = "Нет";
os << "4| Перезаписываемый: " << rc << endl;
std::string ftr = "";
if (dsk.getFeature()) ftr = "да";
else ftr = "Нет";
os << "5| Имеется в наличии: " << ftr << endl;
return os;
}
В последнем файле main.cpp, находится функция main(), в которой создаётся компакт-диск и ему передаются инициализирующие значения, после чего он выводится на экран.
Листинг № 6.1. Файл main.cpp.
#include <iostream>
#include "cd_disk.h"
using namespace std;
int main()
{
cd_disk disk("Властелин колец. Братство кольца.", // создание и
// инициализация объекта диск
cd_disk::standard,
cd_disk::video_cd,
false); // диск не перезаписываемый
disk.display(); // Вывод на экран данных по диску
cout << disk; // Другой вариант вывода данных по диску
return 0;
}
Группа: ИЭУИС-1-3
Дисциплина: Программирование |
Группа: ИЭУИС-II-3 |
2014-2015 учебный год - осенний семестр |
ФИО студента |
Тема |
|
Балашенкова В. В. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Системный блок» |
|
Бессонов К. Е. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Компьютерный блок питания» |
|
Брякова В. В. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Материнская плата» |
|
Ванурин А. С. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Центральный процессор» |
|
Волкова В. В. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Оперативная память» |
|
Габдрахманова Г. И. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Накопитель на жёстких магнитных дисках» |
|
Горячев А. А. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Кард-ридер» |
|
Дмитриева И. С. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Оптический привод» |
|
Лукинов Н. А. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Видео плата» |
|
Заднепровский Л. О. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Звуковая плата» |
|
Мартыненко Д. А. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Сетевая плата» |
|
Масленкова А. О. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Контроллер НЖМД» |
|
Матвеева И. М. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «ТВ-тюнеры» |
|
Огурек А. Я. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Плата видеозахвата» |
|
Питиримов Г. Г. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Система охлаждения системного блока» |
|
Поляков Е. К. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Монитор» |
|
Поротикова Е. Д. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Клавиатура» |
|
Сакулин В. А. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Микрофон» |
|
Смирнова К. Н. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Акустическая система» |
|
Смышляева А. С. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Принтер» |
|
Уланова Н. К. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Сканер» |
|
Хаустова А. Ю. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Плоттер» |
|
Чурбакова В. С. |
Создание программ на Си++ с графическим интерфейсом пользователя учёта комплектующих «Веб-камера» |