Связный список персонажей WOW

Сущность объектно-ориентированного программирования, его свойства, их характеристика. Инструкция работы с программой для пользователя, руководство программиста. Создание "дерева объектов", описание его классов. Работа со списком и программным интерфейсом.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 20.07.2014
Размер файла 99,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Содержание

Введение

1. Руководство пользователя

2. Руководство программиста

2.1 «Дерево объектов»

2.2 Работа со списком

2.3 Программный интерфейс

Заключение

Введение

Объектно-ориентированное программирование - это парадигма программирования, в которой основными концепциями являются понятия объектов и классов. Основной целью проектирования является изучение этой парадигмы.

При написании программы использовались следующие свойства объектно-ориентированного языка программирования C ++:

· инкапсуляция - механизм, связывающий код и данные, которыми манипулируеткод и защищает от некорректного использования;

· наследование - процесс, с помощью которого один объект приобретает свойства другого, т.е. поддерживаетсяиерархическая классификация;

· полиморфизм - свойство, позволяющее использовать один и тот же интерфейс для общего класса действий.

Другой, также немаловажной целью проектирования являлось изучение такого средства языка C ++, как контейнер. В данной курсовой работе был реализован контейнер типа «список», позволяющий упорядоченно хранить данные о тех или иных объектах, и удобно манипулировать ими.

В работе был реализован список самолетов нескольких типов: истребители, бомбардировщики/штурмовики, пассажирские и грузовые самолеты. Создано соответствующее «дерево» объектов.

Автор считает, что написанная им программа является хорошим учебным пособием для школьников и студентов, интересующихся современной авиацией.

1. Руководство пользователя

1. Копируем папку « KURS_WOW » с диска на компьютер.

2. Открываем папку «KURS_WOW», затем папку «bin», «Debug»

3. Запускаем .exe файл программы.

4. Перед пользователем открывается меню, приведенное на рисунке1.

Рисунок 1.

5. В области окна программы, расположенной под меню, предлагается ввести соответствующую команду в виде числа, указанного в списке меню.

6. При вводе пользователем команды «1»(ввод производится нажатием на соответствующую клавишу на клавиатуре с последующим нажатием клавиши «Enter»), программа переходит в подменю, представленное на рисунке 2. Здесь пользователю предлагается самому добавить информацию о персонаже (персонажах) из файла.

Рисунок 2.

Вводим название файла с данными о персонажах «data.txt» и нажимаем «Enter». Программа пишет о том, что список с данными загружен (см. рисунок 3). программирование интерфейс список пользователь

Рисунок 3.

Далее выбираем команду «2» и появляется список данных (см. рисунок 4).

Рисунок 4.

7. Рассмотрим подменю, в котором пользователю предлагается добавить информацию из файла.Для этого в главном меню программы вводим команду «3», нажимаем клавишу «Enter» (см. рисунок 5).

Рисунок 5.

8. Далее, введем к примеру команду «1» и добавим информацию о друиде.Нам будет предложено ввести имя персонажа (см. рисунок 6).

Рисунок 6.

Далее нужно ввести специализацию персонажа. Потом уровень (1-85). Затем нужно ввести какое-нибудь достижение (сколько побед PVP или звания , достижения за походы в подземелья).Писать всю необходимую информацию,которая будет предложена и т.д.После чего появится сообщение о том ,что персонаж добавлен в список (см. рисунок 7)

Рисунок 7.

9. Для того чтобы найти персонажа в списке, зайдем в меню поиска,для этого нужно нажать «4» и нажать «Enter». Затем появится меню ввода имени персонажа, которого нужно найти (см. рисунок 8)

Рисунок 9.

Затем нажмем команду «2» и появится информация о персонаже. Если персонажа не существует с таким именем,то программа сообщит о том,что персонажа с таким именем не существует.

10. Для того чтобы удалить персонажа из списка,нужно выбрать команду «5» и нажать «Enter».После этого нужно ввести имя персонажа,которого нужно удалить. После чего он будет удалён из списка.

11. Чтобы добавить список данных о персанажах нажмите команду «6». Далее нажмем название файла,в который нужно сохранить информацию (к примеру «out.txt»). Потом найти этот файл в корне программы и открыть блокнотом.После чего нужно выбрать команду «2» в программе, и появится список с информацией о персонаже.

12. Если вы хотите завершить программу ,то в главном меню нажмите команду «7» и «Enter». После чего программа прекратит свою работу.

2. Руководство программиста

Программа состоит из 27 файлов, среди которых 13 заголовочных файла с расширением «.h» и 14 файлов с расширением «.cpp». В таблице 1 приведено пояснение,к какому файлу относится то и или иное пространство имен.

Таблица 1

«.h»файл

«.cpp» файл

Пространство имен (namespace)

druid.h

druid.cpp

druidn

mag.h

mag.cpp

magn

voin.h

voin.cpp

voinn

paladin,h

paladin.cpp

paladinn

main.h

main.cpp

stdn

listolist.h

listolist.cpp

listilistn

pers.h

pers.cpp

persn

pve.h

pve.cpp

pven

pvp.h

pvp.cpp

pvpn

rus.h

rus.cpp

rusn

funk.h

funk.cpp

funkn

2.1 «Дерево» объектов

Одной из задач курсового проектирования было создание так называемого «дерева» объектов. Автор курсового проектирования предложил модель, представленную на рисунке 5. Следует отметить, что главным классом (классом родителем) является верхний класс, а остальные классы (классы потомки) наследуют все методы и данные классов предков публичным способом наследования. При этом наследование идет сверху вниз (указано с помощью стрелок на рисунке).

Рисунок 18.

Класс-родитель pers, который описан в одноименном файле pers.h, содержит основные поля данных записи, соответствующей каждому персонажу:

private:

string name;//имя персонажа

string special;//специализация персонажа

string zaslugi;//достижения

int uroven;//уровень

При объявлении данных использовалось ключевое слово «private».Это означает, что данные класса pers закрытые и получить доступ к ним можно только при помощи специальных методов

Кроме методовдля получения закрытых данныъ класс persсодержит также ряд следующих методов:

//обработка данных

virtualvoidget_name();//запрашивает имя с клавиатуры

virtual void print_name(); //возвращаетимя

virtualvoidget_special();//запрашивает специализацию

virtualvoidprint_special();//выводит специализацию

virtualvoidget_zaslugi();//запрашивает достижения

virtualvoidprint_zaslugi();//выводит достижения

virtualvoidget_uroven();//запрашивает уровень

virtual void print_uroven();//выводитуровень

virtual void get_file(ifstream&f);//загрузкаизфайла

virtual void print_vse(){};//выводитвсе

virtual void print_file(ofstream&f);//вывод в файл

const string ret_name();//возращаетимя

virtualvoidget_vse();//запрос всех полей данных

Все методы, служащие для обработки данных - виртуальные (определяются ключевым словом «virtual»), они могут быть использованы для обработки информации, содержащейся в объекте определенного класса.

То же самое касается и методов, описывающих некие действия, совершаемые объектами. К примеру, для друид и воина актуальным является действие, описывающее то,что они делают в рейдах ( в походах на босса), но обладают различными видами своих свойств, то есть метод описывающий действие атаки один и тот же, но результат его выполнения различен для объектов разных классов (в нашем случае эти объекты - друид и воин). В этом заключается смысл полиморфизма в парадигме объектно-ориентированного программирования.

Также в классе persреализована такая возможность языка C ++ как перегрузка оператора.Был перегружен оператор == с целью замены действияbool operator == (const string &c1 , const string &c2).

2.2 Работа со списком

Еще одной задачей курсового проектирования было создание контейнера типа «список» и ряда функций для его обработки. Прототипыэтихфункций описаны в файле listolist.h, а их реализация в файле listolist.cpp. Пространство имен listolistсодержит следующие функции обработки списка:

voiddelname(list <pers* >&lolo);

//вывод всех полей

void zzz(pers *a);

//добавлениевлист

voidaddlist(list <pers* >&lolo);

//поискполисту

voidpoisklist(list <pers* >lolo);

//выводвсеголиста

voidPrintList(list <pers* >lolo);

//выгрузкалиставфайл

voidoutList(list <pers* >lolo);

//возвращение итератора на необходимый по счету элемент

list<pers*> :: iterator Pos(list <pers*>&lolo, unsigned int n);

//вставкапономеру

voidEraseFromList(list <pers*>&lolo, unsigned int n);

// Добавлениепономерупозиции

voidInsertToList(list <pers*>&lolo, unsigned int n, pers*a);

//загрузка листа из файла

В качестве аргумента во всех этих функциях фигурирует список объектов класса pers.Это означает, что к данному заголовочному файлу необходимо подключить заголовочные файлы всех классов, из которых состоит «дерево» и их пространства имен:

#include "pers.h"

#include "druid.h"

#include "mag.h"

#include "voin.h"

#include "paladin.h"

#include "pve.h"

#include "pvp.h"

using namespace magn;

using namespace voinn;

using namespace paladinn;

using namespace pven;

using namespace pvpn;

usingnamespacedruidn;

Также необходимо подключение стандартной библиотеки<list> для получения возможности использования стандартных библиотечных функций работы со списком:

#include <list>

2.3 Программный интерфейс

Программный интерфейс организуют функции, представленные в следующих пространствах имен:

· rus

· listolist

Пространство имен rus.

Пространствоименstdrusсодержитединственную функцию для корректного вывода букв русского алфавита в консольное меню:

char* Rus(const char *);//русификация строки вывода консольное меню

При реализации этой функции была использована функцияперекодировки AnsiToOem(constchar *, char *) из стандартной библиотеки<windows.h>.

Пространствоименlistolist

//возвращаетимя

const string retname(pers *a);

//удаление по имени из списка

void delname(list <pers* >&lolo);

//вывод всех полей

void zzz(pers *a);

//добавлениевлист

voidaddlist(list <pers* >&lolo);

//поискполисту

voidpoisklist(list <pers* >lolo);

//выводвсеголиста

voidPrintList(list <pers* >lolo);

//выгрузкалиставфайл

voidoutList(list <pers* >lolo);

//возвращение итератора на необходимый по счету элемент

list<pers*> :: iterator Pos(list <pers*>&lolo, unsigned int n);

//вставкапономеру

voidEraseFromList(list <pers*>&lolo, unsigned int n);

// Добавлениепономерупозиции

voidInsertToList(list <pers*>&lolo, unsigned int n, pers*a);

//загрузка листа из файла

voidggg(list <pers*>&lolo);

Заключение

В процессе проектирования были выполнены следующие задачи:

· реализовано «дерево объектов», состоящее из семи классов;

· реализован список объектов;

· реализованы методы объекта, такие как отображение полей данных, загрузка данных из файла, сохранение данных в файл, добавление данных об объекте с клавиатуры;

· реализованы следующие методы работы со списком: добавление элемента, поиск элемента в списке, загрузка элементов списка из файла, сохранение списка в файл, печать списка на экране, удаление элемента из списка.

Учитывая вышесказанное, все задачи курсового проектирования были выполнены.

Размещено на Allbest.ru


Подобные документы

  • Использование основных свойств объектно-ориентированного языка программирования C ++ при написании программы по реализации списка футболистов разных амплуа. Руководство пользователя и руководство программиста. Работа со списком, программный интерфейс.

    курсовая работа [516,5 K], добавлен 20.07.2014

  • Основные преимущества и возможности объектно-ориентированного языка программирования С#. Руководство пользователя: установка приложения, эксплуатация ежедневника, назначение полей, кнопок и пунктов меню. Руководство программиста. Событие элемента Timer.

    курсовая работа [4,5 M], добавлен 16.08.2012

  • Изучение объектно-ориентированного языка программирования Java, его функциональные возможности. Создание программного кода. Описание классов и методов, использованных в программе. Руководство пользователя, запуск сервера и клиентского приложения.

    курсовая работа [1,8 M], добавлен 16.09.2015

  • Языки веб-программирования и методы общения клиента и сервера. Характеристика баз данных и понятие веб-сервера. Инструкция программиста и системные требования, инструкция по установке оборудования. Описание исходных кодов и инструкция пользователя.

    курсовая работа [891,3 K], добавлен 04.08.2009

  • Изучение принципов объектно-ориентированного программирования, в котором основными концепциями являются понятия классов и объектов. Свойства этого вида программирования: инкапсуляция, полиморфизм, наследование. Описание класса. Конструкторы и деструкторы.

    презентация [74,8 K], добавлен 14.10.2013

  • Особенности объектно-ориентированного программирования. Основные возможности языка программирования Java, классификация платформ. Создание программы, обеспечивающей вычисление арифметических выражений. Руководство пользователя и характеристика функций.

    курсовая работа [1,2 M], добавлен 07.07.2012

  • Сущность, задачи и особенности объектно-ориентированного программирования. Создание и редактирование графических файлов при помощи различных инструментов рисования. Основные требования к аппаратному и программному обеспечению. Руководство пользователя.

    курсовая работа [270,9 K], добавлен 09.03.2009

  • Анализ объектно-ориентированного программирования, имитирующего способы выполнения предметов. Основные принципы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. Понятие классов, полей, методов, сообщений, событий.

    контрольная работа [51,7 K], добавлен 22.01.2013

  • Проектирование программного обеспечения для создания баз данных о работах студентов университета при помощи языка Visual Basic. Разработка интерфейса пользователя. Руководство для системного программиста. Краткое описание алгоритма работы с программой.

    курсовая работа [2,6 M], добавлен 19.03.2010

  • Использование объектно-ориентированного программирования - хорошее решение при разработке крупных программных проектов. Объект и класс как основа объектно-ориентированного языка. Понятие объектно-ориентированных языков. Языки и программное окружение.

    контрольная работа [60,1 K], добавлен 17.01.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.