`
Балтийский Государственный
Технический Университет
«ВоенМех»
имени Д.Ф. Устинова
Отчет
к курсовому проекту по технологии программирования
на тему:
“Объектно-ориентированное программирование”
Отчет выполнил студент
Факультета «И»
Суханов Александр
Группа И433
Санкт-Петербург 2004
Содержание:
Задание на курсовой проект…………………………………………………………………………стр. 3
Описание программы………………………………………………………………………………...стр. 3
a. CString………………………………………………………………………….……….стр. 6
b. CTime…………………………………………………………………………………...стр. 9
c. CBase……………………………………………………………………………………стр. 10
d. CApplication…………………………………………………………………………….стр. 12
Курсовой проект по технологии программирования
Тема: Объектно-ориентированное программирование
Цель: Изучить принципы объектно-ориентированного программирования
Задание: Написать Программу, которая в заданной Базе маршрутов поездов находит минимальный по времени маршрут между двумя пунктами.
Структура файла, в котором хранятся данные:
Технические требования: 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
#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
#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
#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();
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.