Автор работы: Пользователь скрыл имя, 26 Января 2013 в 18:54, курсовая работа
Целью работы является разработка программы на языке Си с использованием класса статических и динамических массивов структур для обработки базы данных «Страны».
В отчете необходимо разработать программу на языке Си для обработки данных. Обработка данных включает в себя следующие функции:
1) создание новой базы данных (с возможностью задания имени файла);
2) просмотр существующей базы данных (чтение данных осуществляется из файла);
3) редактирование базы данных (с сохранением изменений в файле);
4) дополнение базы данных новыми записями (с сохранением в файле);
5) удаление записей из базы данных (с сохранением в файле);
6) поиск в базе данных (по одному и двум поисковым признакам) с выводом на экране найденных записей или сообщения о неуспешном поиске;
7) сортировка данных по заданному полю (с сохранением в файле).
Введение 5
1 Краткие теоретические сведения 6
2 Описание разработанных функций 9
3 Блок-схемы 10
3.1 Блок-схема функции Void main() 10
3.2 Блок-схема функции void input() 11
3.3 Блок-схема функции void output() 12
3.4 Блок-схема функции void sohrfile () 13
3.5 Блок-схема функции void add() 14
3.6 Блок-схема функции void sortstr () 15
3.7 Блок-схема функции void sortstol() 16
3.8 Блок-схема функции void sozd() 17
3.9 Блок-схема функции void sortplo() 17
3.10 Блок-схема функции void sortfor() 18
3.11 Блок-схема функции void sortnas() 19
3.12 Блок-схема функции void poiskstr() 20
3.13 Блок-схема функции void redakt() 20
4 Руководство по эксплуатации программы 22
5 Список литературы 26
Заключение 27
Приложение А. Листинг программы БД «Страна» 28
Приложение В. Листинг программы графические примитивы
Разработка БД «Страна» с использованием класса статических и динамических массивов структур, класса списков структур. Разработка программы с использованием графических примитивов.
Курсовая работа - __стр.
Аннотация
В курсовой работе представлена программа, предназначенная для работы с базой данных «Страна». Данный программный продукт включает в себя функции создание БД, вывод базы данных из файла на экран, сортировка по нескольким значениям, удаление записей, поиск записи, редактирование базы дынных.
Ил. 11, табл. 14, прил. 2
Содержание
Введение 5
1 Краткие теоретические сведения 6
2 Описание разработанных функций 9
3 Блок-схемы 10
3.1 Блок-схема функции Void main() 10
3.2 Блок-схема функции void input() 11
3.3 Блок-схема функции void output() 12
3.4 Блок-схема функции void sohrfile () 13
3.5 Блок-схема функции void add() 14
3.6 Блок-схема функции void sortstr () 15
3.7 Блок-схема функции void sortstol() 16
3.8 Блок-схема функции void sozd() 17
3.9 Блок-схема функции void sortplo() 17
3.10 Блок-схема функции void sortfor() 18
3.11 Блок-схема функции void sortnas() 19
3.12 Блок-схема функции void poiskstr() 20
3.13 Блок-схема функции void redakt() 20
4 Руководство по эксплуатации программы 22
5 Список литературы 26
Заключение 27
Приложение А. Листинг программы БД «Страна» 28
Приложение В. Листинг программы графические примитивы
Введение
Целью работы является разработка программы на языке Си с использованием класса статических и динамических массивов структур для обработки базы данных «Страны», представленная в виде следующей таблицы:
Название страны |
столица |
площадь |
Форма правления |
население |
В отчете необходимо разработать программу на языке Си для обработки данных. Обработка данных включает в себя следующие функции:
1) создание новой базы данных (с возможностью задания имени файла);
2) просмотр существующей базы данных (чтение данных осуществляется из файла);
3) редактирование базы данных (с сохранением изменений в файле);
4) дополнение базы данных новыми записями (с сохранением в файле);
5) удаление записей из базы данных (с сохранением в файле);
6) поиск в базе данных (по одному и двум поисковым признакам) с выводом на экране найденных записей или сообщения о неуспешном поиске;
7) сортировка данных по заданному полю (с сохранением в файле).
1 Краткие теоретические сведения
Динамические массивы
Динамическим считается массив, который способен в любой момент изменять свой размер. Эта возможность обеспечивается за счет динамического выделения памяти под массив. При этом удобно создать класс, который является оболочкой для данного массива, отвечает за выделение и освобождение памяти под массив, а также обеспечивает доступ к элементам массива.
Когда пользователь создает объект класса-оболочки, конструктор класса выделяет память под массив, который имеет либо указанный пользователем размер, либо размер, заданный по умолчанию. Если по мере заполнения массива вся выделенная память окажется занятой, то при добавлении очередного элемента выделенная ранее память освобождается, все хранящиеся в массиве значения сохраняются во временном массиве. Затем выделяется память под массив большего размера и в него помещаются сохраненные значения. Таким образом, изменение размера массива происходит автоматически, невидимо для пользователя.
Память под данные выделяется либо на этапе компиляции (в этом случае необходимый объем должен быть известен до начала выполнения программы, то есть задан в виде константы), либо во время выполнения программы с помощью операции new или функции mallос (необходимый объем должен быть известен до распределения памяти). В обоих случаях выделяется непрерывный участок памяти.
Динамические структуры широко применяют и для более эффективной работы с данными, размер которых известен, особенно для решения задач сортировки, поскольку упорядочивание динамических структур не требует перестановки элементов, а сводится к изменению указателей на эти элементы.
Динамическое распределение памяти
Для С++ - программы существует два основных способа хранения информации в основной памяти компьютера. Первый состоит в использовании переменных. Область памяти, предоставляемая переменными, закрепляется за ними во время компиляции и не может быть изменена при выполнении программы. Второй способ заключается в использовании С++-системы динамического распределения памяти.
Система динамического распределения памяти – это средство получения программы некоторой области памяти во время ее выполнения.
Динамическое
выделение памяти – это
Классы
Класс определяет новый тип данных, который задает формат объекта. Класс включает как данные, так и код, предназначенный для выполнения над этими данными. Следовательно, класс связывает данные с кодом. В С++ спецификация класса используется для построения объектов. Объекты – это экземпляр класса. По сути, класс представляет собой набор планов, которые определяют, как строить объект. Важно помнить, что класс – это логическая абстракция, которая реально не существует до тех пор, пока не будет создан объект этого класса, то есть то, что станет физическим представлением этого класса в памяти компьютера.
Определяя класс, объявляются данные которые он содержит, и код, который выполняется над этими данными.
В классе данные объявляются в виде переменных, а код оформляется в виде функций. Функции и переменные, составляющие класс, называются его членами. Таким образом, переменная, объявленная в классе, называется членом данных, а функция, объявленная в классе, называется функцией-членом.
Объявление класса начинается с ключевого слова class.
Объявление класса синтаксически подобно объявлению структуры.
По умолчанию члены класса являются закрытыми (private-членами Имя структуры – это ее спецификатор типа).
В С++ класс создает новый тип данных, который можно использовать для создания объектов. В частности, класс создает логическую конструкцию, которая определяет отношение между ее членами. Объявляя переменную класса, создается объект. Объект характеризуется физическим существованием и является конкретным экземпляром класса. Каждый объект класса имеет собственную копию данных, определенных в этом классе.
Структуры
Структура – это группа связанных переменных.
В С++ структура представляет собой коллекцию объединенных общим именем переменных, которая обеспечивает удобное средство хранения родственных данных в одном месте. Структуры – это совокупный тип данных, поскольку они состоят из нескольких различных, но логически связанных переменных. По тем же причинам их иногда называют составными или конгломератными типами данных.
Прежде чем будет создан объект структуры, должен быть определен ее формат. Это делается посредствам объявления структуры. Объявления структуры позволяет понять, переменные какого типа она содержит. Переменные, составляющие структуры, называются ее членами. Члены структуры также называются элементами или полями.
Член структуры – это переменная, которая является частью структуры.
В общем случае все члены структуры должны быть логически связанны друг с другом.
2 Описание разработанных функций
Таблица 1 – Описание разработанных функций
функция |
назначение |
void input(); |
Ввод массива из файла |
void sozd() |
Создание новой БД |
void output() |
Вывод массива на экран |
void redakt() |
Редактирование массива |
void add() |
Добавление записи в массив |
void deletename() |
Удаление записи из массива |
void poiskstr() |
Поиск записи в массиве |
void sortstr() |
Сортировка по странам |
void sortstol() |
Сортировка по столицам |
void sortplo() |
Сортировка по площадям |
void sortfor() |
Сортировка по форме правления |
void sortnas() |
Сортировка по населению |
void sohrfile() |
Сохранение в файл |
Void main() |
Главная функция |
3 Блок-схемы
3.1 Блок-схема функции Void main
Таблица 2 - Описание переменных функции Void main
Локальные переменные |
Назначение |
j |
Ввод пункта меню |
I |
Индексированная переменная |
Блок схема
3.2 Описание функции void input
Таблица 3 - Описание функции void input
Локальные переменные |
назначение |
file |
Переменная для ввода файла |
strana t |
переменная для подсчета записей в файле |
i |
рабочая переменная для подсчёта |
n |
Количество записей |
Блок-схема:
3.3 Описание функции void output()
Таблица 4 - Описание функции void output()
Локальные переменные |
назначение |
I |
рабочая переменная для подсчёта |
Блок-схема:
3.4 Описание функции void sohrfile ()
Таблица 5 - Описание функции void sohrfile ()
Локальные переменные |
назначение |
I |
рабочая переменная для подсчёта |
File |
Переменная для ввода файла |
3.5 Описание функции void add()
Таблица 6 - описание функции void add()
Локальные переменные |
Назначение |
i |
рабочая переменная для подсчёта |
t |
рабочая переменная для информации о добавляемых пунктах |
*p |
указатель для нового узла |
pst |
указатель на исходный массив |
n |
количество записей |
Iniz |
Рабочая переменная для инициалов |