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

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

19 страниц (Word-файл)

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

`

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

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

«ВоенМех»

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

Отчет

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

на тему:

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

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

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

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

Группа И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();

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

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