Конструирование программ на высокоуровневых языках программирования на примере Pelec C. Модульная схема программы. Добавление новых записей, удаление и редактирование старых. Приемы реализации динамических списков связного хранения, методы их обработки.
Аннотация к работе
Также к задачам можно отнести приобретение навыков самостоятельного творческого решения общетеоретических и практических вопросов разработки различных программ. Курсовая работа состоит в самостоятельном изучении, анализе и решении инженерной задачи, содержащей элементы практического и прикладного характера, является решающей оценкой знаний студента, также умения самостоятельно изучить материал, необходимый для разработки курсовой работы.База данных содержит информацию о компьютерных комплектующих на складе: тип (строка 10 символов), - описание (строка 15 символов); основные характеристики (строка 20 символов);Курсовая работа представляет собой создание простейшей однотабличной базы данных. Программа должна осуществлять: - Запись и загрузку файла базы данных (бинарный файл). Фильтровать записи по значению любого поля.Результатом выполнения курсовой работы должна стать разработка программы в соответствии с темой. К программе предъявляются следующие требования: - аппаратная архитектура - IBM PC совместимый компьютер на базе x86 совместимого процессора;Выбор обоснован тем, что использование данной среды позволит быстро сконструировать оконный интерфейс высокого уровня, не отвлекаясь на его реализацию и настройку, сосредоточившись на реализации классов бизнес-логики. Для разработки проекта необходимо решить ряд более мелких задач, на которые можно разбить проект: - реализация класса табличной записи о комплектующем. Потребуется изучить приемы реализации динамических списков связного хранения, а также методов их обработки, таких как: вставка элемента, удаление элемента, изменение элемента, сортировка списка, поиск и фильтрация элементов списка;Программа будет разбита три окна: главное окно, окно просмотра/редактирования комплектующих и окно продажи комплектующих.В этом модуле будет находиться главная функция WINAPI WINMAIN, согласовывающая работу модулей и реализующая диалоговую работу с пользователем.В этом модуле будет находиться реализация класса комплектующего.В этом модуле будет находиться реализация класса динамического списка, включающая в себя его реализацию а также все методы обработки списка, описанные в разделе 2.В этом модуле будет описано главное окно, к нему буду подключены другие модули с окнами.В этом модуле будет находиться реализация табличного представления данных, а также текстовые поля, позволяющие редактировать и вводить новые данные.В этом модуле будет находиться реализация класса табличного представления данных, а также сервис продажи комплектующих.В модуль main.h будут подключаться интерфейсы других окон view.h и sell.h.В этом модуле находится главная функция WINAPI WINMAIN(HINSTANCE, HINSTANCE, LPSTR, int), согласовывающая работу модулей и реализующая диалоговую работу с пользователем. #include //подключаем библиотеку визуальных компонентов Application->Initialize(); //инициализируем приложение Application->CREATEFORM(__classid(TMAINFORM), &MAINFORM); //создаем главное окно Application->CREATEFORM(__classid(TVIEWFORM), &VIEWFORM); //создаем окно просмотра комплектующихВ модуле Hardware нет глобальных переменных, и интерфейс модуля содержит только прототипы функций, которые могут быть вызваны в модуле List.cpp, листинг 2 является листингом интерфейса Hardware.h. интерфейс Hardware.h {public: char type[10]; //тип (строка 10 символов) char describe[15]; //описание (строка 15 символов) char parametrs[20]; //основные характеристики (строка 20 символов) __fastcall Hardware(char * INTYPE,char * INDESCRIBE, char * INPARAMETRS, Integer INSERIAL, DATE INDATESELL, Integer INPRICE); В Hardware.cpp находится реализация описанных методов класса (см. листинг 3): реализация методов Hardware.cpp __fastcall Hardware::Hardware(char * INTYPE,char * INDESCRIBE, char * INPARAMETRS, Integer INSERIAL, DATE INDATESELL, Integer INPRICE){ strncpy(type,INTYPE,10);В модуле List нет глобальных переменных, и интерфейс модуля содержит только прототипы функций, которые могут быть вызваны в модуле view.cpp и sell.cpp, листинг 4 является листингом интерфейса List.h. интерфейс List.h //класс элемента списка class element {public: Hardware * hard; // комплектующее element* next; //Ссылка на следующий элемент списка //класс списка class dyn_list {public: element* head; // Первый элемент (голова) списка element* tail; // Последний элемент (хвост) списка // Удаление компонента из списка void dyn_list::element_del(Hardware * SELHARD) (strcmp(select->hard->type,SELHARD->type)==0)&& (strcmp(select->hard->describe,SELHARD->describe)==0)&& (strcmp(select->hard->parametrs,SELHARD->parametrs)==0)&& (select->hard->serial == SELHARD->serial)&& (select->hard->DATESELL == SELHARD->DATESELL)&& (select->hard->price == SELHARD->price)В модуле Main нет глобальных переменных, и интерфейс модуля содержит только прототипы функций, которые могут быть вызваны в модуле (см. листинг 6): интерфейс Main.h #include #include #include "vie