- •Задание.
- •Содержание
- •Введение
- •Постановка задачи.
- •Метод решения задачи и ее формализация.
- •Выбор языка программирования.
- •Разработка состава и структуры исходных данных и результатов.
- •Разработка алгоритма.
- •Отладка и тестирование программы.
- •Заключение.
- •Библиографический список.
- •Приложение 2. Схемы программы.
Постановка задачи.
Разработать программу для формирования и редактирования однонаправленного динамического списка с использованием интерфейса пользователя типа «горизонтальное меню с выбором по номеру».
Программа должна выполнять следующие функции:
-
Создавать динамический список и заполнять поля данных элементов динамического списка данными из текстового файла;
-
Выводить данные динамического списка в файл в виде таблицы;
-
Производить добавление списка после элемента с заданным ключом;
-
Производить удаление элемента последнего в списке;
-
Производить обмен местами элементов с заданными номерами;
-
Выводить список на экран;
-
Работу программы регулировать с помощью меню.
Метод решения задачи и ее формализация.
Для более удобного и простого решения поставленной задачи мы разбиваем её на отдельные подпрограммы. Для упрощения этой задачи мы используем ООП (объектно- ориентированный подход). Мы создаём собственный тип данных который включает в себя методы и свойства. Метод createList() класса CREATELIST считывает данные из файла и на их основе создаёт динамический список. Метод outputToFile() класса CREATELIST выводит данные в файл. Метод addNodeAfterKey() класса CREATELIST добавляет новый элемент после элемента с заданным ключом. Метод delLastNode() класса CREATELIST удаляет последний элемент в списке. Метод interchange() класса CREATELIST меняет местами два элемента. Метод printList() класса CREATELIST выводит содержимое списка на экран. Методы menu1() и menu2() класса MY_MENU создают меню, облегчающие работу с программой.
В программе используются:
-
Три пользовательских типа:
-
FURNITURE - тип (структура). Содержит 5 полей. 4-е поля типа char (название, страна производитель, цена и цвет). И одно поле типа int. И один указатель типа FURNITURE.
-
CREATELIST – тип (класс). Содержит один указатель типа FURNITURE и пятнадцать методов.
-
MY_MENU- тип (класс). Содержит два метода.
-
Шесть динамических переменных типа char (fileName1, fileName2, bufName, bufCountryP, bufPrice, bufMColor ).
-
Семь целочисленных переменных.
key, v, count, a, b, numb, c – целочисленные переменные для хранения числовых значений.
Выбор языка программирования.
Что такое C++?
С этим вопросом лучше обратиться к его создателю - Бьерну Страуструпу. Думаю, он бы ответил примерно так: С++ - это язык, который лучше, чем C поддерживает абстракцию данных, объектно-ориентированное (ООП) и обобщенное программирование.
Достоинства С++ :
-
Масштабируемость. На языке C++ разрабатывают программы для самых различных платформ и систем
-
Возможность работы на низком уровне с памятью, адресами, портами. Что, при неосторожном использовании, может легко превратиться в недостаток.
-
Возможность создания обобщенных алгоритмов для разных типов данных, их специализация, и вычисления на этапе компиляции, используя шаблоны.