Автор: Пользователь скрыл имя, 13 Февраля 2012 в 16:16, курсовая работа
Предмет исследования - современные методы разработки программ таких, как объектно-ориентированное программирование и визуальное проектирование, а также структурное и модульное программирование.
Цель курсовой работы - систематизация, углубление и активное применение знаний по системному программированию, закрепление знаний, полученных в лекционном курсе, а также на практических и лабораторных занятиях.
ВВЕДЕНИЕ…………………………………………………………………….4
1 Решение интеллектуальной задачи на компьютере…..5
2 ПОСТРОЕНИЕ АЛГОРИТМА РАБОТЫ БАЗЫ ДАННЫХ НА VISUAL C++…………………………………...…………...................……………….…6
2.1 Алгоритм работы базы данных…………………..….…..………….......7
2.2 Описание программы “Telefon”.....………………………………….....9
3 Инструкции пользователя …………………………………….….13
ЗАКЛЮЧЕНИЕ ……………………………………………………………….15
ЛИТЕРАТУРА И ИСТОЧНИКИ ………………………………………….…16
Приложение ……………………………………………………………....17
Fopen – открытие файла;
Sizeof – определение размера;
Fwrite – запись в файл;
Fclose – завершение работы с файлом;
MessageBox – выводит окно с сообщением;
PostQuitMessage – посылает окну сообщение WM_DESTROY;
Fseek – установка указателя в файле;
Fread – чтение из файла;
Feof – определение конца файла;
Format – преобразует типы переменных;
GetItemText – получение текста из списка;
GetFirstSelectedItemPosit
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
– этому идентификатору в меню
соответствует пункт “Выход”.
При выборе этого пункта
IDC_ADD – идентификатор пункта “Добавить ” в меню. Выбор этого пункта добавляет запись в конец базы данных.
IDC_DELETE – этому идентификатору в меню соответствует пункт “Удалить”. Выбор этого пункта приводит к удалению той записи, которая выделена в данный момент.
Идентификатору IDC_FIND в меню соответствует пункт “Поиск”. Его выбор приводит к поиску записи, данные которой совпадают с данными, введёнными в поля.
Выбор
пункта меню “О программе…”, которому
соответствует идентификатор
Каждому
пункту меню соответствует кнопка с
таким же названием и идентификатором,
которая находится
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(
BEGIN_MESSAGE_MAP(
//{{AFX_MSG_MAP(
ON_WM_CREATE()
ON_BN_CLICKED(IDC_ADD, OnAdd)
ON_BN_CLICKED(IDC_CLEAR, OnClear)
ON_BN_CLICKED(IDC_
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(
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(
{
CFormView::
//{{AFX_DATA_MAP(
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(
{
// TODO: Modify the Window class or styles here by modifying
//
the CREATESTRUCT cs
return
CFormView::PreCreateWindow(cs)
}
void CTelefonView::OnInitialUpdate(
{