Win32-приложение Картотека аудио дисков — страница 3

  • Просмотров 8270
  • Скачиваний 373
  • Размер файла 610
    Кб

ошибок программиста в лучшем случае опасно. Язык предоставляет программисту набор концептуальных инструментов; если они не отвечают задаче, то их просто игнорируют. Например, серьезные ограничения концепции указателя заставляют программиста применять вектора и целую арифметику, чтобы реализовать структуры, указатели и т.п. Хорошее проектирование и отсутствие ошибок не может гарантироваться чисто за счет языковых средств.

Система типов должна быть особенно полезна в нетривиальных задачах. Действительно, концепция классов в C++ показала себя мощным концептуальным средством. 1. Постановка задачи Разработать программный продукт для ведения картотеки аудиодисков. Программный продукт должен позволять: вести учет всех дисков картотеки (наименование, группа, учетный номер в картотеке, кем был взят, дата) – добавление, удаление, редактирование,

сохранение, загрузка сохраненной информации; вести учет каждой композиции на диске (номер трека, исполнитель). Система должна обеспечить выполнение этих возможностей путем реализации алгоритмов удаления, редактирования и добавления новой информации. При добавлении необходимо обеспечить проверку на допустимые значения и ограничивать действия пользователя в тех случаях, когда он пытается ввести пустые значения. При

редактировании следует аналогичным образом проверять редактируемые значения. Для реализации поставленной задачи использовать Visual Studio C++ версии не ниже 6.0. В частности применить winapi. 2. Структура выходных и входных данных Данные предполагается хранить в структурированном файле. Так как структура данных может быть выражена лишь одной таблицей, то нет необходимости прибегать к применению каких либо СУБД. Файл с данными можно

размещать как на локальном компьютере, так и в сети, предоставляющей открытый доступ к такому виду ресурса. Вся структура данных может быть выражена одной таблицей: Таблица 1 - схема данных название тип название_диска строка название_трека строка исполнитель строка учетный номер длинное целое кем_взят строка дата_добавления дата Рисунок 1 – размещение данных в файле 3. Описание основных классов и структур В проекте были

использованы встроенные классы и структуры windows api. Их перечисление дается ниже: WNDCLASSEX поле тип cbSize LONG style LONG lpfnWndProc WNDPROC cbClsExtra LONG cbWndExtra LONG hInstance HANDLE hIcon HANDLE hIconSm HANDLE hCursor HANDLE lpszMenuName LPCTSTR lpszClassName LPCTSTR MENUITEMINFO поле тип cbSize LONG fMask LONG fType LONG fState LONG dwTypeData * LPCTSTR cch LONG wID UINT hSubMenu HMENU OPENFILENAME поле тип lStructSize LONG hwndOwner HWND lpstrFile LPCTSTR nMaxFile LONG lpstrFilter LPCTSTR nFilterIndex LONG lpstrFileTitle LPCTSTR nMaxFileTitle LONG lpstrInitialDir LPCTSTR ACCEL поле тип fVirt LONG key LONG cmd LONG tagBITMAP поле тип bmType LONG bmWidth LONG bmHeight