Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
peredelannaja_PZ.docx
Скачиваний:
2
Добавлен:
23.11.2018
Размер:
1.06 Mб
Скачать

Постановка задачи.

Разработать программу для формирования и редактирования однонаправленного динамического списка с использованием интерфейса пользователя типа «горизонтальное меню с выбором по номеру».

Программа должна выполнять следующие функции:

  1. Создавать динамический список и заполнять поля данных элементов динамического списка данными из текстового файла;

  2. Выводить данные динамического списка в файл в виде таблицы;

  3. Производить добавление списка после элемента с заданным ключом;

  4. Производить удаление элемента последнего в списке;

  5. Производить обмен местами элементов с заданными номерами;

  6. Выводить список на экран;

  7. Работу программы регулировать с помощью меню.

Метод решения задачи и ее формализация.

Для более удобного и простого решения поставленной задачи мы разбиваем её на отдельные подпрограммы. Для упрощения этой задачи мы используем ООП (объектно- ориентированный подход). Мы создаём собственный тип данных который включает в себя методы и свойства. Метод createList() класса CREATELIST считывает данные из файла и на их основе создаёт динамический список. Метод outputToFile() класса CREATELIST выводит данные в файл. Метод addNodeAfterKey() класса CREATELIST добавляет новый элемент после элемента с заданным ключом. Метод delLastNode() класса CREATELIST удаляет последний элемент в списке. Метод interchange() класса CREATELIST меняет местами два элемента. Метод printList() класса CREATELIST выводит содержимое списка на экран. Методы menu1() и menu2() класса MY_MENU создают меню, облегчающие работу с программой.

В программе используются:

  1. Три пользовательских типа:

  1. FURNITURE - тип (структура). Содержит 5 полей. 4-е поля типа char (название, страна производитель, цена и цвет). И одно поле типа int. И один указатель типа FURNITURE.

  2. CREATELIST – тип (класс). Содержит один указатель типа FURNITURE и пятнадцать методов.

  3. MY_MENU- тип (класс). Содержит два метода.

  1. Шесть динамических переменных типа char (fileName1, fileName2, bufName, bufCountryP, bufPrice, bufMColor ).

  1. Семь целочисленных переменных.

key, v, count, a, b, numb, c – целочисленные переменные для хранения числовых значений.

Выбор языка программирования.

Что такое C++?

С этим вопросом лучше обратиться к его создателю - Бьерну Страуструпу. Думаю, он бы ответил примерно так: С++ - это язык, который лучше, чем C поддерживает абстракцию данных, объектно-ориентированное (ООП) и обобщенное программирование.

Достоинства С++ :

  1. Масштабируемость. На языке C++ разрабатывают программы для самых различных платформ и систем

  2. Возможность работы на низком уровне с памятью, адресами, портами. Что, при неосторожном использовании, может легко превратиться в недостаток.

  3. Возможность создания обобщенных алгоритмов для разных типов данных, их специализация, и вычисления на этапе компиляции, используя шаблоны.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]