Разработать программный продукт для ведения картотеки аудиодисков.
Для каждого произведения в файле на диске хранится
Наименование диска
(группы), наименование произведения, исполнитель, четный номер диска в картотеке, кто взял, дата.
Максимальное количество добавляемых в одном сеансе записей Ц50.
Основные функции приложения:
Меню Файл - создание нового файла данных, загрузка существующего, сохранение, сохранение как...;
Меню Правка - добавление, изменение,
удаление элемента списка. Отображение информации элемента списка
в виде окна свойств(Property Scheet;
Меню Вид - команды режима отображения(большие и малые значки, список и таблица). В режиме таблица обеспечивается
сортировка по соответствующему параметру при щелчке мыши по заголовку колонки;
Меню Помощь - вызов помощи и окна информации о программе.
Требования к программе.
Программа должна работать под Windows 95/98
Язык интерфейса - русский. Тип интерфейса - Explorer(Проводник).
Обязательные элементы итерфейса: 1)
меню;
2) панель инструментов (ToolBar) с появляющимися подсказками - Tool
Tips;
3) элемент TreeView
("древовидное отображение") для списка дисков и исполнителей на каждом диске;
4) элемент ListView
("графический список") для списка произведений выбранного диска и исполнителя;
5) элемент StatusBar
(строка состояния )- наименование диска, исполнитель, количество произведений в списке.
6) контекстное меню, вызываемое при щелчке правой кнопкой мыши по элементу графического списка, содержита команду "Свойства" из меню Правка для отображения всех данных записи для выбранного элемента списка " ListView".
Данные вывести в диалоговом окне в виде Блокнота свойств(Property Sheed),
содержащего не менее двух страниц свойств;
Содержание пояснительной записки
Введение.
1.Анализ задания и постановка задачи.
2.Описание логического представления данных и их назначения.
3.Описание структуры программы.
4. Разработка программы (пояснения к тексту программы, примененным технологияма и принятым решениям, схемы основных алгоритмов)
5.Тестирование программы и тестовые наборы данных.
6.Технические требования и инструкция по применению.
Срок выполнения курсовой работы 25.12.2006 г Руководитель курсовой работы
Задание принял к исполнению: дата
подпись
Содержание
TOC o "1-3"
h zВведение
1. Постановка задачи
2.
Структура выходных и входных данных
3.
Описание основных классов и структур
4.
Алгоритм работы программы
5.
Результат работы программы
5.1 Ознакомление
5.2
Работа с программой
5.3
Сохранение документа
5.4
Открытие документа
5.5
Добавление информации
5.5.1
Добавление нового диска
5.5.2
Добавление новой композиции
5.6 Редактирование информации
5.6.1 Редактирование диска
5.6.2 Редактирование композиции
5.7 даление информации
5.8 Вид
5.9 О программе
5.10
Выход из программы
6.
Тестирование программы
Заключение
Литература
Приложение
A Листинг программы
Исходные тексты
Сценарии ресурсов
br clear="all">
Введение
Язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист,
размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько "близок к машине", что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом.
С таким мыслом первоначально задумывался C. Второй цели идеально отвечает язык, который настолько "близок к решаемой задаче", чтобы концепции ее решения можно было выражать прямо и коротко. С таким мыслом предварительно задумывались средства, добавленные к C для создания C++.
Связь между языком, на котором мы думаем/программируем, и задачами и решениями, которые мы можем представлять в своем воображении, очень близка. По этой причине ограничивать свойства языка только целями исключения ошибок программиста в лучшем случае опасно. Язык предоставляет программисту набор концептуальных инструментов; если они не отвечают задаче, то их просто игнорируют. Например,
серьезные ограничения концепции казателя заставляют программиста применять вектора и целую арифметику, чтобы реализовать структуры, казатели и т.п.
Хорошее проектирование и отсутствие ошибок не может гарантироваться чисто за счет языковых средств. Система типов должна быть особенно полезна в нетривиальных задачах. Действительно, концепция классов в C++ показала себя мощным концептуальным средством.
1. Постановка задачи
Разработать программный продукт для ведения картотеки аудиодисков. Программный продукт должен позволять:
вести чет всех дисков картотеки
(наименование, группа, четный номер в картотеке, кем был взят, дата) Ц
добавление, даление, редактирование, сохранение, загрузка сохраненной
информации;
вести чет каждой композиции на диске
(номер трека, исполнитель).
Система должна обеспечить выполнение этих возможностей путем реализации алгоритмов даления, редактирования и добавления новой информации.
При добавлении необходимо обеспечить проверку на допустимые значения и ограничивать действия пользователя в тех случаях, когда он пытается ввести пустые значения.
При редактировании следует аналогичным образом проверять редактируемые значения.
Для реализации поставленной задачи использовать Visual Studio C++ версии не ниже 6.0. В частности применить winapi.
2. Структура выходных и входных данных
Данные предполагается хранить в структурированном файле. Так как структура данных может быть выражена лишь одной таблицей, то нет необходимости прибегать к применению каких либо СУБД. Файл с данными можно размещать как на локальном компьютере, так и в сети, предоставляющей открытый доступ к такому виду ресурса.
Вся структура данных может быть выражена одной таблицей:
Таблица 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
LONG
bmWidthBytes
LONG
bmPlanes
WORD
bmBitsPixel
WORD
bmBits
LPVOID
4. Алгоритм работы программы
лгоритм работы программы можно представить диаграммой 1.
5. Результат работы программы
Запуск приложения осуществляется традиционным способом (двойным/одинарным кликом по иконке приложения).
6. Тестирование программы
Для тестирования программы необходимо проверить ряд функций программы:
создание
нового документа;
сохранение
существующего документа;
открытие
документа;
наполнение
документа.
Все эти действия можно объединить в группу и проверить одновременно. Для этого достаточно составить один сценарий, в котором будут следующие действия:
запуск
программы;
создание
нового документа;
наполнение
документа;
сохранение
документа;
выход
из программы;
запуск
программы;
открытие
документа.
Ниже приводятся описанные действия.
1. запуск программы: После запуска программы, на экране должно отобразиться главное окно программы,
изображенное на рисунке 3.
2. создание нового документа:
После запуска программы можно приступить к созданию нового документа. Это можно сделать при помощи:
пункта
главного меню Фай→Новый
либо аналогичной кнопкой в панели инструментов;
ничего
не делать - при запуске изначально происходит работа с новой коллекцией.
3. наполнение документа: Для наполнения документа следует добавить в коллекцию диски и треки для них.
Для добавления новых дисков нужно выполнить следующие действия:
в
древовидной структуре выделить всю коллекцию;
посредством
пункта главного меню Правка→Удобавить
вызвать диалог добавление диска, изображенного на рисунке 13;
в
поле группа диалога вписать название Ария;
в
поле название альбома диалога вписать название Диск Ф;
нажать
кнопку добавить;
должна
произойти проверка введенной информации на допустимость введенных
значений, добавление данных и вывестись отчет Данные добавлены,
изображенный на рисунке 15 (диалог не должен закрыться т.к. он
предполагает множественное добавление информации);
в
поле группа диалога вписать название Ария;
в
поле название альбома диалога вписать название Диск Ф;
нажать
кнопку добавить;
должна
произойти проверка введенной информации на допустимость введенных
значений, добавление дынных и вывестись отчет Данные добавлены,
изображенный на рисунке 15;
после
этого следует нажать на кнопку отмена, произойдет выход из диалога;
после
этих действий в древовидной структуре появятся два новых зла:
Ария: Диск Ф и Ария: Диск Ф корнем которых станет
коллекция;
Для добавления новых треков к дискам нужно выполнить следующие действия:
1)
2) Правка→Удобавить вызвать диалог Удобавление трека, изображенного на рисунке 16;
a) XФ (вместо УXФ в первой итерации записать УФ);
b) Кипелов;
c)
d)
e)
3) a,
b, c и d с получение результата из пункта e в количестве четырех итераций с начальным значением 2, в качестве данных брать те же значения изменяя УXФ на номер итерации.
4)
5)
В результате всех действий получим пример,
изображенный на рисунке 7.
4. сохранение документа: Для сохранения документа необходимо в главном меню выбрать пункт Фай→Сохранить как либо Фай→Сохранить.
Кнопка с аналогичной функциональностью есть и в панели инструментов. После выбора пункта сохранения вызывается одноименный диалог, который позволяет задать новое имя документа и/или месторасположение. Его изображение показано на рисунке 9. В диалоге следует задать новое имя документа и его месторасположение и нажать на кнопку Сохранить.
5. выход из программы: Выход из программ можно осуществить путем выбора пункта главного меню Фай→Выход.
Также выход осуществляется нажатием кнопки УXФ в заголовке главного окна приложения.
6. запуск программы: смотреть действие 1.
7. открытие документа: Для открытия документа следует выбрать пункт главного меню Фай→Открыть либо воспользоваться аналогичной кнопкой в панели инструментов. В результате всех действий должен получиться результат, как и в У3. наполнение документа Ф, который изображен на рисунке 7.
Заключение
Проделав значительную работу я изучил возможности работы с winapi
(и в частности способы манипулирования данными в элементах правления). Изучил механизмы создания пользовательских классов и принципы наследования в языке C++.