Государственный комитет Российской Федерации по телекоммуникациям
Сибирский государственный университет
телекоммуникаций и информатики
КУРСОВАЯ РАБОТА
По дисциплине « Программирование на языках высокого уровня»
Тема работы: разработать программу для создания и работы с двусвязным списком, состоящим из структур.
Вариант №7
Работу выполнил
студент 1 курса
группы: ПДТ-92
Ф.И.О.: Ситников Вячеслав
Александрович
.
Работу проверил
Ф.И.О.
Работа защищена
«___» __________2010г.
С оценкой «_______»
Новосибирск 2010
Содержание. 1
Введение. 2
Блок-схема функционирования системы.. 4
Постановка задачи. 8
Проектный раздел. 11
Исходный код программы.. 16
Файл DOUBLELIST.H. 16
Файл DOUBLELIST.CPP. 18
Файл СOURSE.CPP. 23
Результаты тестирования. 26
Список использованной литературы.. 28
Наше время – это время развития компьютерных технологий и огромного количества программного обеспечения, которое в свою очередь имеет различное применение в различных сферах нашей жизни. Но, не смотря на то, что нынешние вычислительные мощности достигли колоссальной производительности – до сих пор возникает необходимость хранить, упорядочивать и получать данные с высокой скоростью.
Таким образом, необходимо разработать такой тип хранения данных, чтобы он был максимально производительным для работы с данными. Существует множество типов для хранения данных, начиная от очень простых и заканчивая очень сложными, такими как например: базы данных.
Все типы данных имеют свои преимущества и недостатки. Максимальные затраты производительности при работе с такими типами данных – это вставка, удаление и поиск элементов в данном типе. Потому, при выборе типа для хранения данных, необходимо в точности знать и понимать, что конкретно необходимо от данного типа, где потеря производительности допустима, а где категорически не желательна. Если необходимо очень быстрый доступ к элементу – лучше чем массив, типа данных не найти, а если необходимо очень быстрая модификация содержимого типа данных – быстрее списка типа данных трудно отыскать.
Списки бывают двух типов:
· Односвязные списки.
· Двусвязные списки.
Односвязные списки – это тип данных, имеет в своей структуре узлы, которые кроме собственной информации, содержат еще информацию о следующем узле, с которым он связан.
Двусвязные списки – это тип данных, имеет в своей структуре узлы, которые кроме собственной информации, содержат еще информацию о предыдущем и следующем узлах, с которым он связан.
Списки имеют широкое распространение при написании разного рода программного обеспечения, очень удобны в использовании и имеют очень большую скорость для операций вставки и удаления элементов.
Данная курсовая работа посвящена анализу, изучению и реализации двусвязного списка на языке программирования C++.
Для запуска программы, достаточно нажать Enter на программе, или кликнуть два раза мышкой на иконке с программой.
После запуска программы, перед пользователем откроется следующие окно, которое изображено на рис. 1.1:
Рис. 1.1 Основной экран программы
Для создания нового списка, достаточно на клавиатуре нажать клавишу «1», после чего список будет создан[1].
После нажатия на любую клавишу, в поле «Your choice» – будет сохраняться та команда, которая была использована последняя, это пригодится для того, чтобы в случае если пользователь забудет, что он сделал – всегда можно было посмотреть и вспомнить предыдущие действие.
Для добавления нового элемента в конец списка, необходимо нажать на клавиатуре клавишу «3» и ввести необходимые данные, которые по нажатию клавиши Enter, внесутся в список. Данные необходимо вводить в программу через пробел, т.е. вначале вводим «имя», а затем «год рождения». В режиме ввода данных с клавиатуры, экран программы примет вид, который показан на рис. 1.2:
Рис. 1.2 Экран ввода данных в список
Для вывода данных на экран, необходимо на клавиатуре нажать клавишу «2», при этом на экране выведется содержимое списка в следующем вид, который показан на рис 1.3 (вариант вывода данных на экран).
Рис. 1.3 Экран вывода содержимого списка
Для того чтобы выйти из этого режима, достаточно нажать на клавиатуре любую клавишу и окно снова примет первоначальный вид.
Для того, чтобы сделать скорректировать список, т.е. отсортировать его по именам, мы можем воспользоваться пунктом меню «Correction of list». Для этого достаточно на клавиатуре нажать на клавишу «4», при этом – список будет отсортирован.
Для того, чтобы узнать правильно ли он откорректировался, просто нажмем на клавишу «2», при этом окно примет похожий вид, как на рис. 1.4:
Рис. 1.4 Скорректированный список
Для того, чтобы выйти с программы, необходимо нажать на клавиатуре клавишу «5» или просто воспользоваться клавишей «Escape», при этом программа завершит свою работу и покажет пользователю следующий диалог, который показан на рис. 1.5:
Рис. 1.5 Окно завершенной программы
После нажатия на клавишу «5» или клавиши «Escape» – программа удалит все объекты с памяти и завершит свою работу.
Задача данной курсовой работы – это, анализ, изучение и реализация двусвязного списка с возможностью вставки в определенное место, удалением элемента из любого места списка, сортировка списка, а также другие операции над двусвязным списком.
Программа должна быть консольным приложением написанном на языке программирования С++ в одной из следующих сред разработки:
· Borland C++ Builder 6.0 Enterprise.
· Microsoft Visual Studio 2008.
· RAD Studio 2010.
Программа должна иметь понятный интерфейс, содержать меню для работы с пользователем, при котором пользователь сможет выполнить необходимые ему задачи.
Меню должно выглядеть следующим образом:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.