Федеральное агентство по образованию
Московский Государственный институт
электроники и математики (ТУ)
Кафедра «Вычислительные системы и сети»
Курсовая работа.
по дисциплине «Программирование на языках высокого уровня»
на тему «Динамическое формирование и преобразование списков и структур»
Вариант 11
Исполнитель ст.гр. СВБС-21 ______________ К.Д.Матросов
|
Руководитель ст. преп. каф. ВСиС __________________Л.М.Афонина |
2012
Содержание.
1. Задание на курсовую работу. 3
2. Постановка задачи. 3
3. Внешние спецификации программы.. 4
4. Метод решения. 5
5. Структура программы. 5
6. Описание алгоритма программы. 6
7. Текст программы. 11
8. Тестовые примеры. 17
9. Выводы. 18
10. Литература. 18
11. Приложение. 18
1. Задание на курсовую работу.
Дано:
Структура:
Тип списка: Стек
Необходимо:
Написать программу, которая выводит из файла структуры «Магазин», размещает их в стек, выполняет добавление в список нового магазина перед первым на той же улице, если такого нет – то в конец списка.
2. Постановка задачи.
Перечень исходных данных.
namevh – имя текстового файла с информацией
namevih – имя текстового файла для вывода
Перечень выходных данных.
Преобразованный список.
Сообщение о результате работы программы.
3. Внешние спецификации программы..
Входные данные.
Текстовый файл со структурами магазин:
Номер магазина_Город_Улица_Номер дома
Наименование продукта_Цена_Срок реализации (в днях)
* 0 0 (разделитель между структурами)
Введите имя входного файла: <имя_файла >
Введите имя выходного файла: <имя_файла >
Выходные данные.
Текстовый файл со структурами магазин:
Исходный старый список _______________________________________________________________ Преобразованный (отсортированный, дополненный) список
Сообщения.
Сообщение с запросом на файл с данными. Введите имя входного файла:
Сообщение с запросом на файл для данных. Введите имя выходного файла:
Сообщения, связанные с обработкой информационного файла
Файл существует и есть информация.
На экран выводятся исходные данные и отсортированные.
Запрос на ввод нового магазина. Вводим новый магазин (Д)?
Если «Да» Ввод магазина: Введите адрес: Номер магазина, Город, Улица, Номер дома (формат ввода) Номер магазина: Город: Улица: Номер дома: (*) Запрос на ввод продукта. Вводим продукты (Д)? Если «ДА» Наименование: Цена: Срок: Запрос на продолжение ввода продуктов. Продолжаем вводить продукты? (Д) Если «ДА». То пункт (*) Если «НЕТ». То пункт (II)
Если «НЕТ» Итог: На экран выводятся итоговые данные. Информация записана в файл.
Файл не существует. Ошибка с входными данными.
Файл пустой. Файл пустой.
4. Метод решения.
Поиск места для вставки нового магазина осуществляется путем «прохождения» по всем данным (отсортированным методом пузырька) и сравнения названия городов и улиц. Если названия городов и улиц совпали, то происходит вставка. При этом «адрес» памяти последующего магазина записывается в данные к новому магазину, а предыдущий получает ссылку на новый. Иначе добавление происходит в конец списка. Предыдущий магазин получает ссылку на новый, а новый – NULL.