Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MU_k_kursovoy_rabote_S.doc
Скачиваний:
1
Добавлен:
17.08.2019
Размер:
811.01 Кб
Скачать

Индивидуальные задания

Варианты выбираются по двум предпоследним цифрам номера зачетной книжки. Примерные варианты названий информационных систем, предлагаемые для разработки:

  1. Электронный инженерный калькулятор.

  2. Калькулятор для комплексных чисел.

  3. Электронный двоичный калькулятор.

  4. Электронный шестнадцатиричный калькулятор.

  5. Игра крестики-нолики.

  6. Игра морской бой.

  7. Электронный органайзер.

  8. Отдел кадров студентов факультета.

  9. Электронные итоги экзаменационной сессии.

  10. Обучающая программа.

  11. Программа-экзаменатор.

  12. Электронный каталог книжного магазина.

  13. Путеводитель по г. Чебоксары.

  14. Электронный каталог сотовых телефонов.

  15. Электронный учебный план.

  16. Библиотека.

  17. Электронный каталог автомобилей.

  18. Электронный каталог бытовой техники.

  19. Электронный каталог микросхем.

  20. Электронный каталог предприятий города.

  21. Справочник абитуриента.

  22. Справочник-схема движения маршрутных такси.

  23. Электронный каталог изделий предприятия.

  24. Электронный каталог CD-дисков.

  25. Отдел кадров предприятия.

  26. Аэропорт.

  27. Автовокзал.

  28. Речной порт.

  29. Железнодорожный вокзал.

  30. Склад радиотоваров.

Методические указания к курсовой работе

Курсовая работа должна представлять законченное описание в виде пояснительной записки, содержащее краткое описание программы, модулей, отдельных процедур и функций, листинг программы, реализованной на языке программирования, указанном в исходных данных, и полученные результаты в соответствии с заданием. Алгоритм работы программы должен быть реализован с помощью блок-схемы как программы, так и всех подпрограмм, которые оформляются с использованием табл. 8-10, в заключении описать продукт информационной системы. Структурная схема меню должна отражать полную иерархию меню программы.

Работа в Visual C++ Express Edition 2005

Создание проекта Windows Forms Application

Для создания проекта Windows Forms Application сделайте следующее:

1. Выберите в меню File подпункт New, далее подпункт Project…После этого вам с помощью диалога (рис.1) будет предложено выбрать тип проекта и ввести имя проекта. Для создания проекта с формами выберите CLR – Windows Forms Application. Введите имя создаваемого проекта, измените размещение (Location) проекта, если необходимо, и нажмите OK.

2. После этого Visual C++ Express 2005 создаст проект с формой form1, на которую можно поместить необходимые управляющие элементы. Панель управляющих элементов (Toolbox) является всплывающей, для ее вызова необходимо подвести курсор мыши к панели с надписью Toolbox у правой границы окна Visual C++ (рис. 2 ) или вызвать через главное меню (пункт View, подпункт Toolbox).

3. Теперь можно размещать на форме необходимые управляющие элементы. Все управляющие элементы делятся на несколько групп:

3.1. All windows forms - все формы Windows. Сюда входят все управляющие элементы.

3.2. Common Controls - общие управляющие элементы. В эту группу включены такие элементы, как кнопки, радио кнопки, переключатели, текстовые поля для ввода, списки, рисунки и т.д.

3.3. Containers – контейнеры. В эту группу входят управляющие элементы для работы с контейнерами – панели, группы, закладки, таблицы.

3.4. Menus&Toolbars – меню и инструменты. Сюда входят управляющие элементы для создания меню, контекстных меню, панелей инструментов, строки состояния.

3.5. Data – управляющие элементы для работы с данными (DataSet, DataGridView, BindingSource и т.д.)

3.6. Components – компоненты (списки изображений, таймер, процессы, порты, очередь сообщений и т.д.)

3.7. Printing – управляющие элементы для организации печати на принтере.

3.8. Dialogs – диалоги, такие как OpenFileDialog, SaveFileDialog, ColorDialog, FontDialog и т.д.

3.9. General – обычно эта группа пуста.

Для размещения управляющего элемента достаточно перетащить его из панели Toolbox на форму.

4 . Каждый управляющий элемент имеет набор свойств (Properties). Для вызова панели Properties нужно выделить управляющий элемент щелчком мыши и либо вызвать контекстное меню (пункт Properties), либо в пункте view основного меню выбрать подпункт Property Manager. Далее можно изменять свойства управляющего элемента (рис.3).

5 . Управляющие элементы способны реагировать на события (щелчок мыши, нажатие клавиши на клавиатуре, изменение свойств элемента и т.д.). Процедура, которая вызывается при возникновении события, называется обработчиком события. Для того, чтобы управляющий элемент мог реагировать на события (event), необходимо создать обработчик события и связать его с управляющим элементом. События описаны в окне Properties (см. п.4). Для доступа к списку событий, на которые способен реагировать управляющий элемент, откройте окно Properties и выберите вкладку event. Чтобы создать обработчик события, достаточно дважды щелкнуть мышью над названием события. (см. рис. 4). После этого откроется окно с кодом класса вашей формы, и вам будет предложено создать код процедуры-обработчика.

Например: форма содержит текстовое поле textBox1 и кнопку button1. Текст обработчика события нажатия на кнопку может выглядеть так:

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

MessageBox::Show(this->textBox1->Text);

}

При нажатии на кнопку появляется окно (MessageBox) с сообщением, содержащим введенный пользователем текст (this->textBox1->Text), где Text – свойство элемента textBox1, а this – это указатель на себя, т.е. на объект класса, в котором описана функция-обработчик события. В данном случае это форма, которая содержит текстовое поле и кнопку.

Создание базы данных в MS Access

Для создания базы данных выберите пункт меню Файл, подпункт Создать… Выберите Создать новую базу, затем укажите местоположение базы и введите ее имя. Откроется окно для создания таблиц, запросов, форм, отчетов и т.д. в вашей БД.

Создание таблиц. Для создания новой таблицы можно воспользоваться режимом конструктора, либо мастером, либо создать таблицу в режиме ввода. Оптимальный вариант – режим конструктора. Если вы выбрали режим конструктора, вам предложат ввести информацию о полях таблицы (имя поля, тип данных, описание). Так можно создать неограниченное количество полей. Тип данных выбирается из списка. Поле может быть текстовым, числовым, счетчиком (целое число, увеличивающееся на 1 при создании каждой новой записи), логическим, гиперссылкой, полем MEMO, полем объекта OLE и т.д. Можно задать свойства для каждого поля (максимальное, минимальное значение, размер и т.д.). После задания описания всех полей, структуру таблицы необходимо сохранить и дать имя таблице. База данных может содержать несколько таблиц.

Связи между таблицами и схема данных. Таблицы могут быть связаны между собой. Различают следующие виды связей: «один-к-одному», «один-ко-многим», «многие-ко-многим». Если поля двух таблиц связаны связью «один-к-одному», это означает, что одно значение поля в 1-ой таблице соответствует одному значению поля во 2-ой таблице. Если связь «один-ко-многоим», то одно значение поля в 1-ой таблице соответствует многим значениям поля во 2-ой таблице.

Например:

БД «Отдел кадров предприятия», в которой есть две таблицы: «Отделы» и «Сотрудники». В таблице «Отделы» есть ключевое поле «Номер отдела» (для каждого отдела свой уникальный идентификатор). Также таблица «Отделы» содержит всю информацию об отделе: название, подразделение, информацию о начальнике и т.д. В таблице «Сотрудники» есть поле «Отдел», которое содержит номер отдела сотрудника (в одном отделе может работать много сотрудников, значит одинаковых значений поля «Отдел» в таблице будет много). Эти две таблицы связаны отношением «один-ко-многим». В таком случае говорят, что таблица «Отделы» является справочником по отношению к таблице «Сотрудники», т.к. при заполнении карточки сотрудника будет выбираться информация об отделе из списка из таблицы «Отделы».

Для задания связей между таблицами используют «Схему данных». Чтобы ее создать, выберите в основном меню пункт «Сервис», подпункт «Схема данных». Добавьте в схему необходимые таблицы. Укажите щелчком мыши поле в 1-ой таблице и протащите его до поля во второй таблице, с которым нужно установить связь. MS Access определит, какого типа связь необходимо создать и попросит подтвердить создание связи. При помощи схемы данных можно создавать БД с большим количеством связанных таблиц.

Создание SQL-запросов. SQL (Structured Query Language) - язык построения запросов. Его появление вызвано переходом от настольных СУБД типа FoxPro, Paradox и т.д. к системам управления базами данных. Эти системы сформировались в понятие сервера баз данных. Язык SQL является стандартом для реляционных баз данных, и его поддерживают практически все системы управления данными. Но к спецификации SQL очень часто производители конкретной БД добавляют свои расширения.

Если кратко, то системы управления данными стремятся к модели клиент - сервер. Сервер - это мощное программное обеспечение, работающее обычно на не менее мощной аппаратной части, а клиент - это программное обеспечение, которое мы с вами разрабатываем. При этом подходы могут быть разные. Например, каждому клиенту сервер, или один сервер (часто мультипроцессорный) для всех. Но самое интересное, что нас это не очень волнует. Использование ODBC и SQL позволяют создать приложения, не сильно зависимые от сервера баз данных, где хранятся наши таблицы, запросы и т.д. Конечно, используя только стандарты, наше приложение будет работать на многих платформах, но взамен мы не сможем получить максимум производительности. Чем оптимизировать программу, дешевле увеличить оперативную память в два раза на сервере и получить совместимость.

Важной особенностью SQL является то, что этот язык описывает только результат, процесс получения на нем описать нельзя. То есть, я могу сказать: выбери мне данные, но механизм не опишу. Кроме того, следует отметить разницу программирования на основе SQL от программирования на других языках. При получении результатов нет необходимости пробегать по всем полям. Запрос работает сразу со всей базой данных. Это очень серьезное отличие от языка скажем FoxPro.

Запрос SQL состоит из одного или нескольких операторов SQL разделенных точкой с запятой. Самые важные операторы - описание стандартов ANSI/ISO SQL.

Оператор Select позволяет получить данные. Ниже приведена расшифровка. SELECT // выбери * // все колонки таблицы FROM // для таблицы TABLE1; // имя таблицы

Данный оператор выберет всю таблицу. Но можно этим оператором ограничить диапазон выбора. Например: SELECT TABLE1.Family FROM TABLE1; Выбирает только столбец Family в таблице TABLE1. Если необходимо выбрать несколько столбцов, то они должны быть разделены запятой: SELECT TABLE1.Family, TABLE1.ID FROM TABLE1; Два столбца Family и ID. Используя WHERE и логические операции AND,OR можно составить довольно сложное условие. SELECT TABLE1.Family, TABLE1.ID FROM TABLE1 WHERE (((TABLE1.Family)="Petrov") AND ((TABLE1.ID)=1)); Также можно указать, что необходимо произвести выбор из двух или более таблиц, перечислив их после FROM через запятую: SELECT TABLE1.Family, TABLE1.ID, TABLE2.ID_PROF FROM TABLE1, TABLE2;

Другие возможности. Также в MS Access можно создавать отчеты, формы, макросы, страницы и модули.

Создание приложения для работы с базой данных на Visual C++ Express Edition 2005

Этапы создания приложения:

  1. Определите, какие задачи должен решать Ваш проект, опишите структуру Вашей базы данных (количество таблиц, набор полей и типы полей, связи между таблицами) с помощью ER-диаграмм.

  2. Создайте базу данных, используя MS Access или другую СУБД (систему управления базами данных).

  3. В Visual C++ Express Edition 2005 создайте новое приложение Windows Forms Application.

  4. Разместите на форме управляющий элемент DataGridView из группы Data. После размещения мастер попросит вас указать источник данных, загружаемых в этот элемент. Здесь же можно будет задать режимы работы с данными: разрешить или запретить добавление, редактирование, удаление, сортировку записей. Для добавления новых столбцов в управляющий элемент можно выбрать пункт Add Columns Выбрав пункт Edit Columns можно редактировать колонки управляющего элемента, добавлять новые и удалять существующие. Но прежде всего необходимо выбрать источник данных. Для задания источника БД выберите Choose Data Source, и, если в списке нет источника БД, то выберите Add project Data Source После этого появится окно для добавления источника данных. Выберите Database, если источник ваших данных – база данных. Следуя инструкциям мастера, укажите местоположение вашей БД, параметры соединения и выберите объекты из вашей БД для создания источника данных. Вы можете выбрать несколько полей из одной таблицы (не обязательно все поля), которые необходимо отображать в управляющем элементе на форме. Для выбора полей поставьте галочки. Впоследствии вы можете изменить источник данных через свойства Data управляющего элемента, и изменить режимы доступа к данным, вызвав контекстное меню для управляющего элемента. После окончания работы мастера будет создан класс для работы с БД: <имя БД>DataSet, а также управляющие элементы <имя таблицы>BindingSource, <имя таблицы>TableAdapter. Например, если БД называется dbase, а таблица имеет имя table, будет создан класс dbaseDataSet и элементы tableBindingSource, tableTableAdapter. Класс <имя БД>DataSet является потомком класса DataSet и содержит информацию о наборе данных (о столбцах, строках, таблицах) и позволяет работать с набором данных.

  5. Если на этом этапе вы запустите приложение (Debug – Start Without Debugging), то на форме вы увидите таблицу с данными из вашей базы данных. Эти данные можно будет редактировать, удалять, а также добавлять новые, но после закрытия формы изменения не сохранятся. Для сохранения изменений необходимо разместить на форме кнопку или меню с соответствующим пунктом и написать обработчик события нажатия кнопки или выбора пункта меню.

  6. Управляющие кнопки. Создайте кнопки «Сохранить» и «Отменить». Кнопка «Сохранить» будет сохранять изменения в БД и закрывать форму, а кнопка «Отменить» будет закрывать форму без сохранения изменений. Для создания кнопки выберите из панели Toolbox управляющий элемент button и разместите его в нужном месте экрана. Задайте свойства этого элемента (Имя, надпись на кнопке и др.). Теперь необходимо создать обработчик события нажатия на кнопку. Для этого в окне Properties выберите вкладку Event, найдите событие Click или MouseClick (если ваша кнопка будет реагировать только на мышку) и дважды щелкните мышкой над названием события. После этого откроется окно с кодом класса формы. Макет обработчика уже будет создан, нужно только ввести код обработчика. Если нам необходимо сохранить изменения, код будет таким: private:System::Void OK_Click(System::Object^ sender, System::EventArgs^ e) { this->tableTableAdapter->Update(this->dbaseDataSet); this->Close(); } Для восстановления удаленных и отредактированных данных можно воспользоваться методом RejectChanges() класса <база данных>DataSet. Обработчик события нажатия на кнопку будет выглядеть так: private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { this->dbaseDataSet->RejectChanges(); }

  7. Создание приложения для связанных таблиц. Если БД содержит две или более таблицы, между которыми существуют связи, то в первую очередь определите, какая таблица будет основная, а какие будут являтся справочниками. Затем создайте элемент DataGridView, при создании элемента свяжите его с вашей БД и в параметрах связи укажите все таблицы из вашей БД (см. п. 4). Затем выберите основную таблицу и заполните DataGridView данными из основной таблицы. Создайте форму для ввода и редактирования данных из основной таблицы. Разместите на форме столько управляющих элементов, сколько полей в вашей БД. Выбирайте элементы в зависимотси от типа полей: - для полей, имеющих текстовые или числовые значения, выбирайте элемент TextBox; - для полей со значениями дата/время выбирайте элемент DateTimePicker; - для логических полей больше подойдет управляющий элемент CheckBox; - для связанных полей, значения которых должны выбираться из справочника, установите элемент ListBox или ComboBox. Возможны различные варианты по вашему усмотрению. После размещения элементов необходимо их связать с соответствующими полями в БД. Для этого в свойствах управляющего элемента выберите категорию Data и в этой категории группу DataBindings. Связывание элемента происходит в зависимости от его типа.

    1. Для текстовых полей: устанавливается значение свойства Text. Это значение выбирается из списка всех DataBindingSources в проекте. Выбирается нужный <имя таблицы>BindingSource и в нем поле, с которым нужно связать текстовый элемент.

    2. Для полей DateTimePicker: аналогичным образом устанавливается значение свойства Value. Обязательное условие: значение связываемого поля должно быть типа «дата/время».

    3. Для полей CheckBox: устанавливается значение свойства CheckState. Значение связываемого поля должно быть логического типа. Можно дополнительно установить значение свойства Text. Тогда это значение будет отображаться справа от управляющего элемента в качестве подсказки.

    4. Для полей ComboBox: сначала необходимо выбрать источник данных для этого управляющего элемента – установить свойство DataSource. Если данные для этого элемента будут выбираться из справочника (связанной таблицы), то в качестве источника данных надо указать <имя_справочника>BindingSource. Если такого элемента в списке DataBindingSources нет, то создайте его, выбрав из списка Other Data Soiurces – затем Project Data Sources – затем <имя БД>DataSet – и, наконец, нужную таблицу. Для того, чтобы в управляющем элементе ComboBox отображался список значений из справочника, нужно правильно установить следующие два свойства: Display Member и Value Member. Значения этих ствойств – это названия полей из связанной таблицы-справочника. Display Member связывается с полем, значения которого должны отображаться в списке. Value Member связывается с полем, значения которого должны передаваться в основную таблицу (т.е. значение управляющего элемента). Для того, чтобы в списке был выделен нужный элемент, необходимо установить свойство Selected Value. Для этого нужно выбрать из списка <имя основной таблицы>BindingSource и связанное поле из основной таблицы. Тогда значение из основной таблицы будет сравниваться со значениями Value Member из списка и при совпадении соответствующая строчка списка будет выделена цветом. Таким образом, форма для заполнения данных из основной таблицы будет связана с таблицей-справочником.

  8. Создание подчиненных форм. Если в БД несколько таблиц, то может понадобиться создать несколько форм для ввода данных в различные таблицы. Форма Form1, сгенерированная в момент создания вашего проекта, будет основной. Закрытие этой формы влечет за собой закрытие проекта. Но можно в проект добавить подчиненные формы, которые будут вызываться из основной и закрываться до закрытия основной формы. Для добавления новых форм выберите пункт основного меню Project, подпункт Add Item Появиться диалоговое окно, в левой части которого указаны категории добавляемых элементов, а в правой части – шаблоны. Выберите категорию UI и шаблон Windows Form. После этого введите имя формы и нажмите кнопку Add. В проект будет добавлена новая форма и сразу же после этого откроется новое окно, в котором можно будет создавать новую форму в режиме конструирования. Разместите на новой форме все необходимые управляющие элементы и кнопки, создайте обработчики событий нажатия на кнопки. Создайте меню, если это необходимо.

    1. Вызов подчиненной формы: Новая форма должна вызываться из основной формы. Для этого создайте на основной форме кнопку или меню, запускающее подчиненную форму. Необходимо будет создать обработчик события нажатия на кнопку или выбора пункта меню. В обработчике надо создать динамическую форму и запустить ее. Текст обработчика может выглядеть примерно следующим образом: private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { otdel ^Otdel_form; Otdel_form=gcnew otdel; Otdel_form->Show(this); } Здесь otdel – это название новой формы (и, как следствие, нового класса формы). Otdel_form – имя нового динамического объекта. Строка Otdel_form=gcnew otdel; создает новый динамический объект. Поскольку класс формы является управляемым, то объект создается с помощью оператора gcnew. Строка Otdel_form->Show(this); запускает новую форму. Параметр метода Show указывает на родительское окно. В данном случае это основная форма (this), на которой размещена кнопка и которая запускает новую форму otdel. Форма otdel является подчиненной, поэтому нельзя будет закрыть основную форму до закрытия формы otdel. Для того, чтобы код работал, необходимо к файлу form1.h подключить файл новой формы otdel следующим образом: #include "otdel.h"

Выводы: Visual C++ 2005 Express обладает большими возможностями для создания проектов под Windows для работы с базами данных. Цель данной курсовой работы – научиться создавать проекты под Windows, используя различные возможности Visual C++.

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