Объектно-ориентированное программирование. Написание программы, которая в заданной Базе маршрутов поездов находит минимальный по времени маршрут между двумя пунктами

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

`

Балтийский Государственный

Технический Университет

«ВоенМех»

имени Д.Ф. Устинова

Отчет

к курсовому проекту по технологии программирования

на тему:

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

Отчет выполнил студент

Факультета «И»

Суханов Александр

Группа И433

Санкт-Петербург 2004

Содержание:

Задание на курсовой проект…………………………………………………………………………стр. 3

Описание программы………………………………………………………………………………...стр. 3

  1. Структуры данных……………………………………………………………………………стр. 3
  2. Модули раздельной трансляции…………………………………………………….……….стр.3
  3. Заголовочные файлы………………………………………………………………………….стр. 3
    1. CString.h……………………………………………………………………….……….стр 3
    2. CTime.h………………………………………………………………………………...стр. 4
    3. CBase.h………………………………………………………………………………....стр. 4
    4. App.h…………………………………………………………………………………....стр. 5
  4. Методы классов……………………………………………………………………….……….стр. 6

a.  CString………………………………………………………………………….……….стр. 6

b.  CTime…………………………………………………………………………………...стр. 9

c.  CBase……………………………………………………………………………………стр. 10

d.  CApplication…………………………………………………………………………….стр. 12

  1. Головной модуль……………………………………………………………………………….стр. 18
  2. Недостатки этого решения…………………………………………………………………….стр. 18
  3. Результаты работы программы………………………………………………………………..стр. 19

Курсовой проект по технологии программирования

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

Цель: Изучить принципы объектно-ориентированного программирования

Задание: Написать Программу, которая в заданной Базе маршрутов поездов находит минимальный по времени маршрут между двумя пунктами.

Структура файла, в котором хранятся данные:

  1. Кол-во городов в сети
  2. Названия городов
  3. Координаты городов
  4. Матрица N*N времени пути (задана в минутах)
  5. Матрица времени отправлений (задана в минутах)

Технические требования: 80286/80287 DX microprocessor, Video EGA\VGA 4MB, 1MB RAM, DOS.

Описание программы

Структуры данных:

Класс CString – вспомогательный класс для работы со строками

Класс CTime – вспомогательный класс для работы со временем

Класс CBase – База данных

Класс  CApplication – Класс, включающий в себя классы CForm, CEdit, CButton – управляет работой приложения, осуществляет диалог с пользователем

Модули раздельной трансляции:

CString.cpp – Содержит методы класса CString

CTime.cpp – Содержит методы класса CTime

CBase.cpp – Содержит методы класса CBase

App.cpp – Содержит методы класса CApplication

MainUnit.cpp – Головной модуль

Заголовочные файлы:

·  CString.h

#ifndef _CSTRING_H

#define _CSTRING_H

#include <stdio.h>

class CString

{

unsigned int len;

char* data;

public:

CString();

CString(char* str);

CString(CString& str);

~CString();

CString& operator = (CString& str);

CString& operator = (char* str);

CString operator + (CString& str);

CString operator + (char* str);

char operator == (CString& str);

char operator > (CString& str);

char operator < (CString& str);

unsigned int length();

char* get_data();

void del_sym(unsigned int pos);

};

#endif

  • CTime.h

#ifndef _CTIME_H

#define _CTIME_H

#include <stdio.h>

class CTime

{

int hh, mm;

public:

CTime();

CTime(int h, int m);

CTime(CTime& time);

~CTime(){};

CTime& operator = (CTime& time);

CTime operator + (CTime& time);

CTime operator - (CTime& time);

char operator == (CTime& time);

char operator > (CTime& time);

char operator < (CTime& time);

void set(int h, int m);

int hour(){return hh;};

int min(){return mm;};

char null();

};

#endif

  • CBase.h

#ifndef _CBASE_H

#define _CBASE_H

#include "CString.h"

#include "CTime.h"

class CBase

{

unsigned int num_city;       // Кол-во городов

CString *city_name;                 // Названия городов

int *city_coor;                     // Координаты городов

CTime *path_time;                   // Двумерный массив времени в пути

CTime *depar_time;                  // Двумерный массив отправлений

void dfs(int v, CTime time0);// Рекурсивная функция поиска пути

int depth, num_from, num_to; // Вспом. переменные

char *visited;               // Множество пройденных вершин

char *cur_path;              // Текущий путь

char *best_path;             // Лучший путь

CTime best_time;             // Лучшее время

unsigned int len_best_path;  // Длина лучшего пути

public:

CBase(char *file_name);

~CBase();

CString search_path(CString& city_from, CString& city_to);

char *get_best_path(){return best_path;};

int *get_city_coor(){return city_coor;};

CString *get_city_name(){return city_name;};

CTime *get_path_time(){return path_time;};

unsigned int get_num_city(){return num_city;};

unsigned int get_len_best_path(){return len_best_path;};

};

#endif

  • App.h

#ifndef _APP_H

#define _APP_H

#include <graphics.h>

#include <conio.h>

#include <dos.h>

#include "cstring.h"

#include "cbase.h"

#define FOCUSED 1

#define NOT_FOCUSED 0

class CApplication;

extern CApplication Application;

class CObject

{

protected:

unsigned int x, y;

unsigned int width, height;

char focus;

public:

CObject(){};

~CObject(){};

void set(unsigned left,unsigned top, unsigned widthh, unsigned heightt);

void draw(){};

void press_key(unsigned char key){};

char focused();

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.