Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовик по разработке ПО1.DOC
Скачиваний:
29
Добавлен:
01.05.2014
Размер:
1.97 Mб
Скачать

3.2.2. Структура дерева.

Смотри пример дерева в приложении, проектные решения и структуру представления основных данных.

3.2.3. Формат файла.

Программы предоставляет возможность сохранять и загружать данные из файла.

Все файлы используемые программой имеют произвольное, пользовательское имя и стандартное, устанавливаемое программой расширение “fam”.

Каждый программный файл можно логически разбить на части, основываясь на факте, что каждому человеку в файле отводится 6 строчек. В принципе по количеству строк можно осуществлять первичный контроль входных файлов. Но этого не делается из-за недостатка времени и рассматривается как этап модернизации.

Пример файла содержится в приложении.

Каждая часть представляет собой одного человека, и соответствует классу CPerson (его полям).

1Сергей 1-ая строка

~1Иван 2-ая строка

~0Мария 3-я строка

~1Борис 4-ая строка

~1Олег 5-ая строка

~0Александра 6-строка

  1. 1-ая строка характеризует данного человека, его имя и пол.

1-й символ пол человека:

  • 1 – мужчина

  • 0 - женщина

Остальные символы : Имя

  1. 2-ая строка характеризует отца человека если первый символ = ~ , то отец существует, и дальше в это строке он описывается, если – отца нет.

2-й символ пол отца:

  • 1 – мужчина

  • 0 – женщина (парадокс но возможно)

Остальные символы : Имя отца

  1. 3-ая строка характеризует супруга/супругу человека если первый символ = ~ , то супруг/супруга существует, и дальше в это строке он описывается, если – супруг/супруга нет.

2-й символ пол супруг/супруга:

  • 1 – мужчина

  • 0 – женщина

Остальные символы : Имя супруг/супруга

  1. 4-ая строка характеризует ребенка №1 человека если первый символ = ~ , то ребёнок №1 существует, и дальше в это строке он описывается, если – ребенка №1 нет.

2-й символ пол ребенка №1:

  • 1 – мужчина

  • 0 – женщина

Остальные символы : Имя ребенка №1

  1. 5-ая строка характеризует ребенка №2 человека если первый символ = ~ , то ребёнок №2 существует, и дальше в это строке он описывается, если – ребенка №2 нет.

2-й символ пол ребенка №2:

  • 1 – мужчина

  • 0 – женщина

Остальные символы : Имя ребенка №2

  1. 4-ая строка характеризует ребенка №3 человека если первый символ = ~ , то ребёнок №3 существует, и дальше в это строке он описывается, если – ребенка №3 нет.

2-й символ пол ребенка №3:

  • 1 – мужчина

  • 0 – женщина

Остальные символы : Имя ребенка №3

Загрузка из файла и запись в файл происходит в цикле, алгоритмы этих процессов описаны выше.

3.3. Разработанные классы.

3.3.1 Описание классов.

Класс CPerson

Основной класс реализующий структуру данных и представляющий персону в памяти компьютера

Члены данные:

  • Имя Персоны

  • Пол персоны

  • Указатель на Отца

  • Указатель на Супруга

  • Указатель на ребенка 1

  • Указатель на ребенка 2

  • Указатель на ребенка 3

Методы:

Конструктор

Деструктор

Метод нахождения пути от одной персоны к другой

Получить указатель на ребенка 1

Получить указатель на ребенка 2

Получить указатель на ребенка 3

Получить указатель на отца

Выяснить пол персоны

Получить указатель на супруга

Получить имя персоны

Установить ребенка 1

Установить ребенка 2

Установить ребенка 3

Установить отца

Установить супруга

Класс CFamilyDlg

Члены данные:

Указатель на список персон

Набор переменных для работы с диалоговыми окнами

Методы:

Конструктор

Деструктор

Найти персону

Метод вызова диалогового окна определения родственной связи

Метод вызова добавления

Метод обработки события закрытия

Метод загрузки

Метод сохранения

Метод построения дерева семьи

Метод удаления

Метод подтверждения главы семьи

Метод вызова помощи

Класс CPersonDlg

Члены данные:

Набор переменных для работы с диалоговыми окнами

Методы:

Метод добавление

Инициализации диалогового окна

Проверки на существования имени

Методы выбора различных опций

Метод ввода нового имени

Метод вовода имени привязки

Класс CDelDlg

Члены данные:

Набор переменных для работы с диалоговыми окнами

Методы:

Метод удаления

Класс CLinkDlg

Члены данные:

Массив «путь»

Массив «родственные связи»

Массив «связь»

Связь

Набор переменных для работы с диалоговыми окнами

Методы:

Метод инициализации диалога

Метод анализа родственной связи

Класс CTreeDlg

Члены данные:

Набор переменных для работы с диалоговыми окнами

Методы:

Метод построения дерева