Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

задание по объектноориентированному программированию Факультет- ПМИ Группа- ПМИ 21 Ст

Работа добавлена на сайт samzan.net:


Министерство Образования и Науки Российской Федерации

Государственное образовательное учреждение высшего профессионального образования

Новосибирский Государственный Технический Университет

Кафедра ПМт

Расчетно-графическое задание

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

Факультет: ПМИ

Группа: ПМИ - 21

Студент:   Давыдов Д.В.

Преподаватель: Еланцева И.Л.

Новосибирск 2013

Цель работы

Изучить средства работы с диаграммой классов и создания прототипа кода на языке С++, предоставляемые системой Enterprise Architect.

1. Ознакомиться с назначением и элементами диаграммы классов, технологией разработки диаграмм классов и создания прототипа кода классов на языке С++ в системе Enterprise Architect.

2. Составить диаграмму классов, соответствующую графической системе, разработанной в лабораторных работах № 4, 5, и произвести автоматическую генерацию прототипа кода разработанных классов.

2.1. Поместить на диаграмму классы геометрических фигур и шаблон контейнера.

2.2. Специфицировать атрибуты и операции классов, а также отношения, существующие между классами.

2.3. Произвести автоматическую генерацию прототипа кода разработанных классов.

2.4. Сгенерированный код сравнить с кодом, полученным в лабораторных работах № 4, 5. В случае необходимости внести исправления в диаграмму классов и повторить генерацию кода.

4. Оформить отчет, содержащий постановку задачи, разработанную диаграмму классов и текст прототипа кода.

5. Защитить РГЗ, ответив на вопросы преподавателя.

Сгенерированный код:

Класс «Rec_crod». (Прямоугольник)

///////////////////////////////////////////////////////////

//  Rec_cord.h

//  Implementation of the Class Rec_cord

//  Created on:      23-дек-2010 17:40:01

//  Original author: Iver

///////////////////////////////////////////////////////////

#if !defined(EA_389A3A29_F36F_4ecd_931D_1CD50AA62924__INCLUDED_)

#define EA_389A3A29_F36F_4ecd_931D_1CD50AA62924__INCLUDED_

class Rec_cord

{

public:

Rec_cord();

virtual ~Rec_cord();

virtual void color(HDC WIN, HWND window) =0;

void input(RECT rt, FILE* file);

protected:

int x1;

int x2;

int y1;

int y2;

int test(int x1, int y1, int x2, int y2, RECT rt);

};

#endif // !defined(EA_389A3A29_F36F_4ecd_931D_1CD50AA62924__INCLUDED_)

///////////////////////////////////////////////////////////

//  Rec_cord.cpp

//  Implementation of the Class Rec_cord

//  Created on:      23-дек-2010 17:40:01

//  Original author: Iver

///////////////////////////////////////////////////////////

#include "Rec_cord.h"

Rec_cord::Rec_cord(){

}

Rec_cord::~Rec_cord(){

}

void Rec_cord::input(RECT rt, FILE* file){

}

int Rec_cord::test(int x1, int y1, int x2, int y2, RECT rt){

return 0;

}

Класс «Rec_cont». (контур)

///////////////////////////////////////////////////////////

//  Rec_cont.h

//  Implementation of the Class Rec_cont

//  Created on:      23-дек-2010 17:40:01

//  Original author: Iver

///////////////////////////////////////////////////////////

#if !defined(EA_3F04F163_6777_43b1_978F_C8E98C6EA8D6__INCLUDED_)

#define EA_3F04F163_6777_43b1_978F_C8E98C6EA8D6__INCLUDED_

#include "Rec_cord.h"

#include "col.h"

class Rec_cont : public Rec_cord

{

public:

Rec_cont();

virtual ~Rec_cont();

void color(HDC WIN, HWND window);

int get_cord_X1(Rec_cont X1);

int get_cord_X2(Rec_cont X1);

int get_cord_Y1(Rec_cont X1);

int get_cord_Y2(Rec_cont X1);

void set_cord_X1(int x1);

void set_cord_X2(int x2);

void set_cord_Y1(int y1);

void set_cord_Y2(int y2);

void set_pencolor(int rp, int gp, int bp);

protected:

col pen;

};

#endif // !defined(EA_3F04F163_6777_43b1_978F_C8E98C6EA8D6__INCLUDED_)

///////////////////////////////////////////////////////////

//  Rec_cont.cpp

//  Implementation of the Class Rec_cont

//  Created on:      23-дек-2010 17:40:01

//  Original author: Iver

///////////////////////////////////////////////////////////

#include "Rec_cont.h"

Rec_cont::Rec_cont(){

}

Rec_cont::~Rec_cont(){

}

void Rec_cont::color(HDC WIN, HWND window){

}

int Rec_cont::get_cord_X1(Rec_cont X1){

return 0;

}

int Rec_cont::get_cord_X2(Rec_cont X1){

return 0;

}

int Rec_cont::get_cord_Y1(Rec_cont X1){

return 0;

}

int Rec_cont::get_cord_Y2(Rec_cont X1){

return 0;

}

void Rec_cont::set_cord_X1(int x1){

}

void Rec_cont::set_cord_X2(int x2){

}

void Rec_cont::set_cord_Y1(int y1){

}

void Rec_cont::set_cord_Y2(int y2){

}

void Rec_cont::set_pencolor(int rp, int gp, int bp){

}

Класс «Rec_ful». (закрашенная)

///////////////////////////////////////////////////////////

//  Rec_ful.h

//  Implementation of the Class Rec_ful

//  Created on:      23-дек-2010 17:40:01

//  Original author: Iver

///////////////////////////////////////////////////////////

#if !defined(EA_E4C398CA_893A_496a_8D66_EB7F662EE863__INCLUDED_)

#define EA_E4C398CA_893A_496a_8D66_EB7F662EE863__INCLUDED_

#include "Rec_cont.h"

#include "Rec_brush.h"

class Rec_ful : public Rec_cont, public Rec_brush

{

public:

Rec_ful();

virtual ~Rec_ful();

void Clean(RECT rt, HDC WIN, HWND window);

void color(HDC WIN, HWND window);

};

#endif // !defined(EA_E4C398CA_893A_496a_8D66_EB7F662EE863__INCLUDED_)

///////////////////////////////////////////////////////////

//  Rec_ful.cpp

//  Implementation of the Class Rec_ful

//  Created on:      23-дек-2010 17:40:02

//  Original author: Iver

///////////////////////////////////////////////////////////

#include "Rec_ful.h"

Rec_ful::Rec_ful(){

}

Rec_ful::~Rec_ful(){

}

void Rec_ful::Clean(RECT rt, HDC WIN, HWND window){

}

void Rec_ful::color(HDC WIN, HWND window){

}

Класс «Rec_brush». (кисть)

///////////////////////////////////////////////////////////

//  Rec_brush.h

//  Implementation of the Class Rec_brush

//  Created on:      23-дек-2010 17:40:00

//  Original author: Iver

///////////////////////////////////////////////////////////

#if !defined(EA_BA85C97F_19A6_45de_8BF6_E189CCC3F69F__INCLUDED_)

#define EA_BA85C97F_19A6_45de_8BF6_E189CCC3F69F__INCLUDED_

#include "col.h"

class Rec_brush

{

public:

Rec_brush();

virtual ~Rec_brush();

void set_brushcolor(int rb, int gb, int bb);

protected:

col brush;

};

#endif // !defined(EA_BA85C97F_19A6_45de_8BF6_E189CCC3F69F__INCLUDED_)

///////////////////////////////////////////////////////////

//  Rec_brush.cpp

//  Implementation of the Class Rec_brush

//  Created on:      23-дек-2010 17:40:00

//  Original author: Iver

///////////////////////////////////////////////////////////

#include "Rec_brush.h"

Rec_brush::Rec_brush(){

}

Rec_brush::~Rec_brush(){

}

void Rec_brush::set_brushcolor(int rb, int gb, int bb){

}

Класс «Rec_combo». (вложенные)

///////////////////////////////////////////////////////////

//  Rec_combo.h

//  Implementation of the Class Rec_combo

//  Created on:      23-дек-2010 17:40:01

//  Original author: Iver

///////////////////////////////////////////////////////////

#if !defined(EA_645F9EE8_2568_47f6_9C9B_23D693C8D937__INCLUDED_)

#define EA_645F9EE8_2568_47f6_9C9B_23D693C8D937__INCLUDED_

#include "Rec_ful.h"

#include "Rec_cont.h"

class Rec_combo : public Rec_ful

{

public:

Rec_combo();

virtual ~Rec_combo();

void color_input(HDC WIN, HWND window);

void input_c(RECT rt, FILE* file);

int test_input();

protected:

Rec_cont *A;

};

#endif // !defined(EA_645F9EE8_2568_47f6_9C9B_23D693C8D937__INCLUDED_)

///////////////////////////////////////////////////////////

//  Rec_combo.cpp

//  Implementation of the Class Rec_combo

//  Created on:      23-дек-2010 17:40:01

//  Original author: Iver

///////////////////////////////////////////////////////////

#include "Rec_combo.h"

Rec_combo::Rec_combo(){

}

Rec_combo::~Rec_combo(){

}

void Rec_combo::color_input(HDC WIN, HWND window){

}

void Rec_combo::input_c(RECT rt, FILE* file){

}

int Rec_combo::test_input(){

return 0;

}

Класс  «stack.h». (шаблон-контейнер)

///////////////////////////////////////////////////////////

//  stack.h

//  Implementation of the Class stack

//  Created on:      23-дек-2010 15:35:46

//  Original author: Iver

///////////////////////////////////////////////////////////

#if !defined(EA_35DBD6D0_E78E_4d32_BACB_913E6A312502__INCLUDED_)

#define EA_35DBD6D0_E78E_4d32_BACB_913E6A312502__INCLUDED_

template<class Type>

class stack

{

public:

struct list

{

public:

 list* next;

 Type rec;

};

stack(){

}

~stack(){

}

void Add(Type W, HDC WIN, HWND window, RECT rt){

}

void Del(HDC WIN, HWND window, RECT rt){

}

int empty(){

 return 0;

}

void FIND(HDC WIN, HWND window, RECT rt, int X1, int X2, int Y1, int Y2){

}

void PRINT(FILE* file){

}

private:

list* head;

};

#endif // !defined(EA_35DBD6D0_E78E_4d32_BACB_913E6A312502__INCLUDED_)

Закрытые атрибуты классов:

 int x1, y1, x2, y2; - координаты прямоугольника

 int test(int x1, int y1, int x2, int y2, RECT rt); - тест на вложенность в экран

col pen; - цвет пера

 col brush; - цвет кисти

 Rec_cont A; - контур прямоугольника

Открытая часть классов:

set-функции:

void set_cord_X1(int x1); - координата Х1

void set_cord_X2(int x2); - координата Х2

void set_cord_Y1(int y1); - координата У1

void set_cord_Y2(int y2); - координата У2

void set_move_un(RECT rt, HDC WIN, HWND window); - движение прямоугольника

void set_pencolor(int rp, int gp, int bp); - цвет пера

void set_brushcolor(int rb, int gb, int bb); - цвет кисти

get-функции:

int get_cord_X1(Rec_cont X1); - координата Х1

int get_cord_X2(Rec_cont X1); - координата Х2

int get_cord_Y1(Rec_cont X1); - координата У1

int get_cord_Y2(Rec_cont X1); - координата У2

int test_input(); - проверка вложености фигур

 void input_c(RECT rt, FILE*file); - ввод для контура 

void color_input(HDC WIN, HWND window); - Рисование вложеных фигур

void color(HDC WIN, HWND window); - рисование прямоугольников

void Clean(RECT rt, HDC WIN, HWND window); - очистка экрана 

void input(RECT rt, FILE*file); - ввод координат

Диаграмма классов геометрических фигур

Фрагмент файла Rec_cord.h

class Rec_cord

{

public:

Rec_cord();

virtual ~Rec_cord();

virtual void color(HDC WIN, HWND window) =0;

void input(RECT rt, FILE* file);

protected:

int x1;

int x2;

int y1;

int y2;

int test(int x1, int y1, int x2, int y2, RECT rt);

};

Фрагмент файла Rec_cont.h

class Rec_cont : public Rec_cord

{

public:

Rec_cont();

virtual ~Rec_cont();

void color(HDC WIN, HWND window);

int get_cord_X1(Rec_cont X1);

int get_cord_X2(Rec_cont X1);

int get_cord_Y1(Rec_cont X1);

int get_cord_Y2(Rec_cont X1);

void set_cord_X1(int x1);

void set_cord_X2(int x2);

void set_cord_Y1(int y1);

void set_cord_Y2(int y2);

void set_pencolor(int rp, int gp, int bp);

protected:

col pen;

};

Фрагмент файла Rec_ful.h

class Rec_ful : public Rec_cont, public Rec_brush

{

public:

Rec_ful();

virtual ~Rec_ful();

void Clean(RECT rt, HDC WIN, HWND window);

void color(HDC WIN, HWND window);

};

Фрагмент файла Rec_brush.h

class Rec_brush

{

public:

Rec_brush();

virtual ~Rec_brush();

void set_brushcolor(int rb, int gb, int bb);

protected:

col brush;

};

Фрагмент файла Rec_combo.h

class Rec_combo : public Rec_ful

{

public:

Rec_combo();

virtual ~Rec_combo();

void color_input(HDC WIN, HWND window);

void input_c(RECT rt, FILE* file);

int test_input();

protected:

Rec_cont *A;

};

Вывод: сгенерированный код не отличается от желаемого,  основные функции совпадают. Следовательно, диаграмма простроена правильно.




1. .316 И 374 ИЗМЕРЕНИЕ ПАРАМЕТРОВ ЗАЗЕМЛЕНИЯ Методические указания к лабораторн
2. Converstions Despite the fct tht he hs mny mlevolent persons his business thrives in London
3. Основи цивільного права
4. главный взяток заготовка мёда на зиму
5. Площадка dS в магнитном поле Рисунок 2 Зависимость магнитной проницаемости ~ ферромагнетика от напря
6. КОНТРОЛЬНА РОБОТА зЦіноутворення назва дисципліни на
7. Доклад- Параметры взаимодействия КНР с мировой экономикой
8.  Синусті тахикардия ~ б~л ЖЖЖ жо~арылауы- Минутына 60 рет B Минутына 70 рет C Минутына 80 рет D Минуты1
9. І Владимирова НГ Ніколаєва І
10. ru Все книги автора Эта же книга в других форматах Приятного чтения Виктор Гюго Клод Ге Гюго
11. Этапы формирования конституционализма в России
12. ЗАДАНИЕ- Ознакомиться с общими сведениями Ознакомиться с порядком выполнения работы Изучить принципиал
13. Организация проведения частичной и полной санитарной обработки.html
14. Средства массовой информации и политическая власть
15. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата історичних наук Київ.html
16. Определение инвентарной стоимости и учет объектов законченного строительства
17. тематическим названиям
18. по теме Алкоголь ~ наш общий враг
19. Военнотехнический кадетский корпус Министерства обороны Российской Федерации г
20. Финансовое планирование на предприятиях промышленности в переходной экономике