Работа с базами данных

Автор: Пользователь скрыл имя, 13 Февраля 2012 в 16:16, курсовая работа

Описание работы

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

Содержание

ВВЕДЕНИЕ…………………………………………………………………….4
1 Решение интеллектуальной задачи на компьютере…..5
2 ПОСТРОЕНИЕ АЛГОРИТМА РАБОТЫ БАЗЫ ДАННЫХ НА VISUAL C++…………………………………...…………...................……………….…6
2.1 Алгоритм работы базы данных…………………..….…..………….......7
2.2 Описание программы “Telefon”.....………………………………….....9
3 Инструкции пользователя …………………………………….….13
ЗАКЛЮЧЕНИЕ ……………………………………………………………….15
ЛИТЕРАТУРА И ИСТОЧНИКИ ………………………………………….…16
Приложение ……………………………………………………………....17

Работа содержит 1 файл

!!!!Записка!!!!.doc

— 114.50 Кб (Скачать)

     Fopen – открытие файла;

     Sizeof – определение размера;

     Fwrite – запись в файл;

     Fclose – завершение работы с файлом;

     MessageBox – выводит окно с сообщением;

     PostQuitMessage – посылает окну сообщение WM_DESTROY;

     Fseek – установка указателя в файле;

     Fread – чтение из файла;

     Feof – определение конца файла;

     Format – преобразует типы переменных;

     GetItemText – получение текста из списка;

     GetFirstSelectedItemPosition и GetNextSelectedItem - получение позиции выделенного элемента;

     InsertItem – вставка данных в список;

     SetItemText – вставка данных в список;

     DeleteAllItems - очистка списка;

     SetPaneText – установка текста в панель  статуса; 

           После вызова функции  UpdateWindow, окно окончательно выведено на экран. Теперь программа должна подготовить себя для получения информации от пользователя через клавиатуру и мышь. Windows поддерживает “очередь сообщений” (message queue) для каждой программы, работающей в данный момент в системе Windows. Когда происходит ввод информации, Windows преобразует её в “сообщение”, которое помещается в очередь сообщений программы. Каждое получаемое окном сообщение идентифицируется номером, который содержится в параметре message оконной процедуры. В заголовочных файлах Windows определены идентификаторы, начинающиеся с префикса WM (“window message”) для каждого типа сообщений. Ниже приведены все сообщения используемые в курсовом проекте:

     Сообщение WM_CREATE – это первое сообщение, которое Windows посылает объекту View. Оно передаётся, когда каркас приложения вызывает оконную функцию Create, т.е. в тот момент, когда создание окна ещё не закончено и его не видно на экране. Следовательно, обработчик OnCreate пока не может обращаться к Windows-функциям, доступным только после отображения окна. Такие функции можно вызвать из замещённой функции OnInitialUpdate. В программе “Telefon” в обработчике OnCreate() происходит  определение количества записей в базе и информация об этом выводится на экран.

      Когда пользователь выбирает пункт меню или  нажимает кнопку, Windows посылает программе сообщение WM_COMMAND, содержащее идентификатор этого пункта меню или кнопки в младшем слове параметра сообщения. Ниже рассмотрены идентификаторы, соответствующее пунктам меню и кнопкам программы:

     IDC_ALL - идентификатор пункта “Все записи” в меню. Выбор этого пункта выводит все записи из базы в список.

     IDC_CLEAR – это идентификатор пункта  “Очистить” в меню. Выбор этого  пункта приводит к очистке  заполненных полей.

     ID_APP_EXIT – этому идентификатору в меню  соответствует пункт “Выход”.  При выборе этого пункта происходит  вызов функции OnDestroy, что приводит к разрушению окна и завершению работы с программой.

     IDC_ADD – идентификатор пункта “Добавить ” в меню. Выбор этого пункта добавляет запись в конец базы данных.

     IDC_DELETE – этому идентификатору в меню соответствует пункт “Удалить”. Выбор этого пункта приводит к удалению той записи, которая выделена в данный момент.

     Идентификатору  IDC_FIND в меню соответствует пункт “Поиск”. Его выбор приводит к поиску записи, данные которой совпадают с данными, введёнными в поля.

     Выбор пункта меню “О программе…”, которому соответствует идентификатор ID_APP_ABOUT, выведет модальное окно диалога, в котором содержится краткая информация о разработчике и программе.

     Каждому пункту меню соответствует кнопка с  таким же названием и идентификатором, которая находится непосредственно  на диалоговом окне, а также на панели инструментов. 

     Windows посылает сообщение WM_CLOSE, когда пользователь закрывает окно через системное меню или когда закрывается родительское окно. Определив, что окно можно безопасно закрыть, следует вызвать функцию OnClose() базового класса, которая и продолжает процесс закрытия. Объект View и соответствующее окно пока остаются активными.

     Сообщение WM_DESTROY Windows отправляет вслед за сообщением WM_CLOSE и его обрабатывает функция карты сообщений OnDestroy. Программа, получив сообщение WM_DESTROY, должна считать, что окно отображения уже не видно на экране, но ещё активно – равно как и его дочерние окна. Функцию OnDestroy() нужно обязательно вызывать, но в её теле уже нельзя отменить процесс разрушения объекта View. Это допустимо только в функции OnClose.

 

      3 ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ 

     Запуск  программы осуществляется при открытии файла Telefon.exe, который находится на дискете. При этом на экране появиться окно, в левой верхней части которого будет видна надпись “Телефонный справочник” – это имя программы. Ниже располагается меню, с помощью которого можно выполнить различные действия с данным приложением. При нажатии на пункте меню “Файл”, выпадет, так называемое, всплывающее меню, в котором находится пункт “Выход”. При выборе этого пункта программа закрывается.

     Следующий пункт главного меню – это “Опции”, подменю которого содержит пункты “Очистить”, “Добавить”, “Удалить”, “Все записи” и “Поиск”. При выборе первого пункта, произойдёт очистка содержимого полей, в которых находится текст. Второй и третий пункты меню позволяют добавлять и удалять записи из базы. Пункт “Все записи” позволяет отобразить все записи из базы данных. Нажатие на пункте меню ”Поиск” приводит к поиску записи, данные которой совпадают с данными введёнными в поля.

     Последним пунктом меню является “Помощь”. Если выбрать этот пункт, то в подменю можно увидеть пункт: “О программе”, который содержит информацию о разработчике и о самой программе.

     Под меню располагается панель инструментов, которая дублирует все пункты основного меню. Ещё ниже расположена  клиентская область, в которой происходит вывод информации. Здесь, также, расположены основные элементы навигации.

     Первое  окно – “Телефон”. Здесь вводится телефон абонента.

     Для задания фамилии, имени и отчества необходимо заполнить окно “ФИО”.

     Для задания адреса абонента, необходимо заполнить окна “Улица”, “Дом” и “Квартира”.

     Системные требования: Pentium 133, 16 MB RAM, Windows 95/98/2000 NT/XP.

     ЗАКЛЮЧЕНИЕ 

      

     В ходе выполнения данного курсового  проекта были разработана программа  на языке высокого уровня Visual C++. А также изучены возможности данного языка.

     Систематизированы и закреплены практические навыки использования  ЭВМ, программного обеспечения, существующих средств обслуживания системных  программистов, а также теоретические  знания по основным разделам курса "XXX". Основное внимание уделено изучению современных операционных систем, способов проектирования приложений, объектно-ориентированному и системному программированию.

     При выполнении курсового проекта произведено  знакомство с реферативными журналами  и другими информационными источниками  по объектно-ориентированному и системному программированию с целью анализа состояния решаемой задачи.

     Получены  практические навыки работы в среде Visual C++. 
 
 
 
 
 
 
 
 
 
 

 

      ЛИТЕРАТУРА 

1. Петзольд Ч.   Программирование  под  Windows 95.    В двух книгах: BHV –

    Санкт  -  Петербург, 1997, silt.

2. Ричард С.Линкер, Том Арчер.   Программирование  для Windows 98. Библия

    разработчика.   “Диалектика ” – Москва, 1999.-864 с.:  ил.- Парал.  тит.  англ.

    Уч.пос.

3. Джесс Либерти.  С++  за  21  день.  ”Вильямс”  - Москва, 2000.-816 с.:  ил. -  

    Парал.тит.  англ.

4. Дэвид Дж. Круглински. Основы С++. “Русская редакция”  – Москва, 1997.- 696 с.: ил.

5. Кэйт Грегори.  Использование Visual C++. “Вильямс” – Москва, 1999.-864 с.:  ил.. - Парал.тит. англ., уч. пос. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

ПРИЛОЖЕНИЕ

 

// TelefonView.cpp : implementation of the CTelefonView class

// 

#include "stdafx.h"

#include "Telefon.h" 

#include "TelefonDoc.h"

#include "TelefonView.h"

#include "MainFrm.h" 

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif 

//структура содержащая  текущую запись

struct

      {

            char name[20];//имя

            char street[20];//улица

            char dom[5];//дом

            char flat[5];//квартира

            char tel[15];//телефон

      }

      data; 

struct

      {

            char name[20];//имя

            char street[20];//улица

            char dom[5];//дом

            char flat[5];//квартира

            char tel[15];//телефон

      }

      data2[100]; 

FILE *f;

CString str; 

int n=0, kol=0;

bool fnd=false;

int p;

/////////////////////////////////////////////////////////////////////////////

// CTelefonView 

IMPLEMENT_DYNCREATE(CTelefonView, CFormView) 

BEGIN_MESSAGE_MAP(CTelefonView, CFormView)

      //{{AFX_MSG_MAP(CTelefonView)

      ON_WM_CREATE()

      ON_BN_CLICKED(IDC_ADD, OnAdd)

      ON_BN_CLICKED(IDC_CLEAR, OnClear)

      ON_BN_CLICKED(IDC_DELETE, OnDelete)

      ON_BN_CLICKED(IDC_FIND, OnFind)

      ON_WM_MOUSEMOVE()

      ON_BN_CLICKED(IDC_ALL, OnAll)

      ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)

      //}}AFX_MSG_MAP

END_MESSAGE_MAP() 

/////////////////////////////////////////////////////////////////////////////

// CTelefonView construction/destruction 

CTelefonView::CTelefonView()

      : CFormView(CTelefonView::IDD)

{

      //{{AFX_DATA_INIT(CTelefonView)

      m_street = _T("");

      m_tel = _T("");

      m_name = _T("");

      m_flat = _T("");

      m_dom = _T("");

      //}}AFX_DATA_INIT

      // TODO: add construction code here 

} 

CTelefonView::~CTelefonView()

{

} 

void CTelefonView::DoDataExchange(CDataExchange* pDX)

{

      CFormView::DoDataExchange(pDX);

      //{{AFX_DATA_MAP(CTelefonView)

      DDX_Control(pDX, IDC_LIST1, m_list);

      DDX_Text(pDX, IDC_STREET, m_street);

      DDX_Text(pDX, IDC_TEL, m_tel);

      DDX_Text(pDX, IDC_NAME, m_name);

      DDX_Text(pDX, IDC_FLAT, m_flat);

      DDX_Text(pDX, IDC_DOM, m_dom);

      //}}AFX_DATA_MAP

} 

BOOL CTelefonView::PreCreateWindow(CREATESTRUCT& cs)

{

      // TODO: Modify the Window class or styles here by modifying

      //  the CREATESTRUCT cs 

      return CFormView::PreCreateWindow(cs);

} 

void CTelefonView::OnInitialUpdate()

{

Информация о работе Работа с базами данных