Автор: Пользователь скрыл имя, 11 Января 2012 в 10:03, контрольная работа
Разработать информационную систему с применением динамических структур данных. Для решения поставленной задачи рекомендуется использовать динамические структуры (списки, деревья, очереди, стеки и т.п.) в том случае, если для решения поставленной задачи их использование окажется более целесообразным. Обеспечить возможность выполнения следующих операций над выбранными структурами данных:
инициализацию;
добавление новых элементов;
удаление элементов;
перемещение по структуре данных;
поиск элементов структуры данных, отвечающих заданным критериям;
вывод всех элементов структуры данных на экран.
задание
3
назначение основные возможности и характеристики программы
4
постановка задачи
5
структурная схема фрагмента информационной системы
8
таблица имен
9
иерархия объектов
11
разработка интерфейса программы
12
инструкция по работе с программой
14
заключение
18
литература.
19
Приложение 1 (исходный код)
20
Приложение 2. (пример работы)
35
Содержание
|
3 |
|
4 |
|
5 |
|
8 |
|
9 |
|
11 |
|
12 |
|
14 |
|
18 |
|
19 |
|
20 |
|
35 |
Задание
Разработать информационную систему с применением динамических структур данных. Для решения поставленной задачи рекомендуется использовать динамические структуры (списки, деревья, очереди, стеки и т.п.) в том случае, если для решения поставленной задачи их использование окажется более целесообразным. Обеспечить возможность выполнения следующих операций над выбранными структурами данных:
ЗАДАНИЕ – склад
Назначение,
основные возможности
и характеристики программы
Программа, предназначена для ведения списка товаров на складе (вставки, удаления, редактирования, сортировки, поиска).
О каждом наименовании товара, программа имеет следующую информацию :
Существует возможность сортировки списка товаров по артикулу или наименованию, а так же поиска по артикулу..
Программа написана на языке C++ в среде визуального программирования Builder C++ фирмы Borland.
Постановка
задачи
Для выполнения работы необходимо изучить динамические структуры данных. Динамические структуры по определению характеризуются отсутствием физической смежности элементов структуры в памяти непостоянством и непредсказуемостью размера (числа элементов) структуры в процессе ее обработки.
Поскольку
элементы динамической структуры располагаются
по непредсказуемым адресам
Когда связное представление данных используется для решения прикладной задачи, для конечного пользователя "видимым" делается только содержимое информационного поля, а поле связок используется только программистом-разработчиком.
Достоинства
связного представления данных - в
возможности обеспечения
Вместе с тем связное представление не лишено и недостатков, основные из которых:
Приведем список наиболее распространенных динамических связных структур хранения данных:
1. Очередь FIFO (первым зашел, первым вышел)
2. Очередь LIFO (первым зашел, последним вышел)
3. Стек
4. Линейный список
В ходе выполнения работы будет реализован линейный список. Списком называется упорядоченное множество, состоящее из переменного числа элементов, к которым применимы операции включения, исключения. Список, отражающий отношения соседства между элементами, называется линейным. Длина списка равна числу элементов, содержащихся в списке, список нулевой длины называется пустым списком. Линейные связные списки являются простейшими динамическими структурами данных.
Графически связи в списках удобно изображать с помощью стрелок. Если компонента не связана ни с какой другой, то в поле указателя записывают значение, не указывающее ни на какой элемент. Такая ссылка обозначается специальным именем – NULL.
Задача
заключается в создании структуры
с информацией о товаре и реализации списка
товаров, с возможностью добавления, удаления,
редактирования и поиска.
Cтруктурная
схема фрагмента информационной
системы
Таблица
имен
Рассмотрим
поля структуры с информацией о товаре
(файл tovar.hpp).
//Структура с информацией о товаре
struct tovar{
public:
String Art; // артикул
String Name; // наименование
int Kol; // количество на складе
String Ed; //единица измерения
String Pls;
// место хранения
};
Далее
приведем имена структуры узла списка
и класса - списка товаров. (файл
tovarlst.hpp)
//Структура
- узел списка
struct unit
{
tovar a;
unit *nt;//ссылка на след. элемент
};
//список пациентов
class tovarlst{
private:
unit *f; //начало
unit *e; //конец
int size; //размер
public:
tovarlst(); //конструктор
~tovarlst(); //деструктор
void Add(tovar); //вставка в конец
void Delete(int); //удаление элемента по номеру
void SortByArt(); //сортировка по артикулу
void SortByName(); //сортировка по наименованию
int Count(); //возвращает размер
tovar &operator[](int); //индексирование
int Search(String art); //поиск по артикулу
};
В программе используются объекты классов визуальных компонентов Builder C++. Основные из них :
В
класс TForm1 – основной формы входит
объект tovar P – список товаров и функция
Out() – вывода отсортированного списка
на экран в компонент TListView.
Иерархия
объектов
Рассмотрим объекты, созданные специально для курсовой работы. Объекты VCL рассматривать не будем.
В программе используются структуры и класс:
Подробно
они рассмтренны выше в пункте
“таблица имен”
Разработка интерфейса
программы
Основная форма программы в режиме редактирования:
Основная форма программы содержит в себе следующие визуальные компоненты:
Для
добавления нового товара используем
форму редактирования, (F2) вызываемую
в безмодальном режиме:
Форма содержит в себе компоненты TEdit * для ввода информации и TComboBox * для выбора единицы измерения. А так же кнопки TButton * (Ok и Отмена) . Аналогично выглядит форма редактирования (F3).
Еще добавим форму поиска по артикулу :
На
этом разработку интерфейса пользователя
закончим.
Инструкция
по работе с программой
Программ не прихотлива к ресурсам. Для запуска и работы программы достаточно Windows 98 (вполне возможно, что запустится и под Windows 95). Запускается информационная система файлом sklad.exe. При запуске происходит автоматическая загрузка данных из файла tovar.lst.
Пример файла tovar.lst
В150-3
Ведро
15
Шт.
17
И67
Линейка
90
Шт.
12
К-745
Клей ПВА
19
Л.
78
М127