Курсовая работа: Обработка динамических структур
При выборе пункта "11" графический интерфейс исчезает, процесс компиляции завершается.
5. Анализ результатов
В результате работы программы был сформирован список сведений о книгах картотеки, состоящий из фамилии автора, названия книги, года её выпуска и количества экземпляров в библиотеке. Полученный список был отсортирован методом простого выбора по фамилиям авторов.
Были добавлены новые элементы в основной список, при этом не был нарушен алфавитный порядок. Помимо основного списка был сформирован список с книгами, выданными на руки. При выдаче книги на руки количество книг в библиотеки сокращалось на 1. Оба эти списка были занесены в файлы. Кроме того, было реализовано решение задачи по возвращению взятой на руки книги.
Также была реализована возможность удаления всех книг автора из картотеки по его фамилии.
Блок-схемы алгоритмов программы и основных подпрограмм представлены в приложениях А, Б, В, Г. Листинг программы представлен в приложении Д, а результаты работы программы в приложении Е.
Заключение
В процессе выполнения индивидуального задания и отчета по курсовой работе я ознакомился со способами обработки динамических структур данных.
Анализируя полученное задание, я выбрал метод решения поставленной задачи, на основе которого получил алгоритмы в виде блок-схем (приложения А, Б, В, Г, Д). Преимущество блок-схем состоит в их наглядности. Кодирование алгоритмов осуществлено на языке программирования С. Листинг программы представлен в приложении Д.
Преимущество программы состоит в простой организации пользовательского интерфейса, в удобстве ввода сведений авторах и книгах. Программа сортирует список по имени автора в алфавитном порядке, позволяет выдать книгу на руки, вернуть её назад в библиотеку и удалить все книги выбранного автора из картотеки.Возможно, что применение данной программы на практике (в существенно более доработанной форме) может оптимизировать работу персонала библиотек или учреждений, в которых требуется работа с большими базами данных.
Недостатки программы:
- на разных ЭВМ работа с файлами осуществляется по-разному. То есть при работе на одном ЭВМ задача может идеально реализовываться, а на другом выполняться, но с ошибками. Скорее всего, это вызвано разницей в версиях ТС или недоработкой разработчиков.
- при вводе в командной строке меню некорректных данных, для которых не предусмотрены действия, программа работать не будет, а в некоторых случаях возможно зацикливание, что может привести как к выходу из процесса компиляции, так и к полному выходу из интегрированной среды программирования с потерей текущих данных, что нежелательно.
Список литературы
1. Н. Б. Культин, С/С++ в задачах и примерах, СПб: БХВ-Петербург, 2001.
2. А. Б. Крупник, Изучаем С++, Спб: Питер, 2003.
3. С. Р. Дэвис, С++ для "чайников", М.: "Вильямс", 2004.
4. Т.А. Павловская, С/С++. Программирование на языке высокого уровня, Спб: Питер, 2005.
Приложение А
Листинг программы
#include <stdio.h>
#include <alloc.h>
#include <conio.h>
#include <string.h>
typedefstructAsFalonour //создание нового типа запись для хранения информационных полей элемента списка
{
intkol; //количество книг в картотеке
charnazv[20]; //название книги
intgod; //год издания