Автор работы: Пользователь скрыл имя, 31 Мая 2012 в 02:36, курсовая работа
Необхідно розробити програмний продукт, що виконує функції тлумачного словника, який може здійснювати швидкий пошук слів та їх значень, аналізуючи базу даних та, за наявності, враховувати синоніми. Крім того, даний програмний продукт має надавати можливість користувачу розширювати базу даних слів, додаючи їх та їх значення до словника швидко та ефективно.
1. ПОСТАНОВКА ЗАДАЧІ 1
1.1. ОРГАНІЗАЦІЙНО-ІНФОРМАЦІЙНА СУТЬ ЗАВДАННЯ. 1
1.2. ВХІДНІ ДАННІ. 1
1.3. ВИХІДНІ ДАННІ. 1
2. ОПИС ІНФОРМАЦІЙНОГО ЗАБЕЗПЕЧЕННЯ. 2
2.1. СКЛАД ІНФОРМАЦІЙНОГО ЗАБЕЗПЕЧЕННЯ. 2
2.2. ОРГАНІЗАЦІЯ ВНУТРІШНЬО - МАШИННОЇ ІНФОРМАЦІЙНОЇ БАЗИ. 2
2.2.1. ФІЗИЧНА СТРУКТУРА. 2
2.2.2. ЛОГІЧНА СТРУКТУРА. 2
3. ОПИС АЛГОРИТМУ 3
3.1.1. ПРИЗНАЧЕННЯ ТА ХАРАКТЕРИСТИКА АЛГОРИТМУ. 3
3.1.2. ЛОГІКА АЛГОРИТМУ. 3
4. ТЕХНОЛОГІЯ РОЗРОБКИ ПРОГРАМНОГО ЗАБЕЗПЕЧЕНИЯ. 6
4.1. СТРУКТУРА ПРОЕКТУ. 6
4.2. ПЕРЕЛІК ФАЙЛІВ ПРОЕКТУ И ЇХ ПРИЗНАЧЕННЯ (*.H, *.CPP, *.RC). 6
4.3. МЕТОДИ ТА ЗАСОБИ РОЗРОБКИ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 7
4.3.1. ОБ’ЄКТНО- ОРІЄНТОВАНИЙ АНАЛІЗ (ООА) ПРЕДМЕТНОЇ ОБЛАСТІ 7
4.3.2. ОБ'ЄКТНО - ОРІЄНТОВАНЕ ПРОЕКТУВАННЯ (OOD) 7
4.3.3. ОБ'ЄКТНО - ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ OOP (ОСНОВНІ ІДЕЇ РЕАЛІЗАЦІЇ ООП). 8
4.3.4. СПЕЦИФІКАЦІЯ ФУНКЦІЙ ПРОГРАМИ. 10
4.3.5. ТЕХНОЛОГІЯ РОЗРОБКИ ПРОГРАМІ І МЕТОДИ ЇЇ СТВОРЕННЯ. 10
4.3.6. СЦЕНАРІЙ РОБОТИ ПРОГРАМИ. 10
5. КЕРІВНИЦТВО КОРИСТУВАЧА 11
5.1.1. ОБЛАСТЬ ЗАСТОСУВАННЯ, РІВЕНЬ ПІДГОТОВКИ КОРИСТУВАЧА. 11
5.1.2. ОПИС ПЕРЕДБАЧЕНИХ ФУНКЦІЙ. 11
5.1.3. ВИКЛЮЧНІ СИТУАЦІЇ. 11
6. ВИСНОВКИ 12
7. ЛІТЕРАТУРА 12
}
toolStripLab
}
//при запуске приложения
private: System::Void OnLoad(System::Object^ sender, System::EventArgs^ e) {
toolStripLabel1->Visible = true;
//toolStripProgressBar1->
vocabulary = gcnew VocData();
toolStripProgressBar1->Minimum = 0;
toolStripProgressBar1->Maximum = vocabulary->getRowsCount();
toolStripProgressBar1->Value = 0;
for(int i = 0; i < vocabulary->getRowsCount(); i++)
{
dataGridView1->Rows->Add(gcnew DataGridViewRow());
dataGridView
toolStripPro
}
//toolStripProgressBar1->Value = vocabulary->getRowsCount();
toolStripLabel1->Visible = false;
toolStripProgressBar1->Visible = false;
}
//при выборе другой ячейки в таблице просмотра слов
private: System::Void
OnSelectionChanged(System::
if(dataGridView1->
{
int r = dataGridView1->CurrentRow->
Description->Text = vocabulary->getCellValue(r+1,
}
}
//обработчик закрытия окна приложения
private: System::Void OnClose(System::Object^ sender,
System::Windows::Forms::
vocabulary->
}
//обновление данных
private: System::Void
toolStripButton3_Click(System:
toolStripLabel1->Visible = true;
toolStripLabel1->Text = "Шукаю...";
//toolStripProgressBar1->
vocabulary = gcnew VocData();
toolStripProgressBar1->Minimum = 0;
toolStripProgressBar1->Maximum = vocabulary->getRowsCount();
toolStripProgressBar1->Value = 0;
for(int i = 0; i < vocabulary->getRowsCount(); i++)
{
dataGridView1->Rows->Add(gcnew DataGridViewRow());
dataGr
vocabulary->getCellValue(i+1,
toolSt
}
//toolStripProgressBar1->Value = vocabulary->getRowsCount();
toolStripLabel1->Visible = false;
toolStripProgressBar1->Visible = false;
}
//очистить все поля на второй вкладке
private: System::Void
toolStripButton2_Click(System:
textBox1->Text = "";
richTextBox1->Text = "";
}
//записать данные в файл эксель по нажатию на кнопку "галочка"
private: System::Void
toolStripButton1_Click(System:
toolStripLabel2->Visible = true;
vocabulary->CommitData(gcnew Vocabulary::Words(textBox1->
toolStripLabel2->Visible = false;
}
};
}
#pragma once
namespace Vocabulary{
public ref class Words
{
public:
Words(void);
//Конструктор с парамаметрами
Words(System::String^ w, System::String^ wM);
//получает слово
System::String^ getWord();
//получает его значение
System::String^ getMeaning();
//задает слово
System::Void setWord(System::String^ w);
//задает его значение
System::Void setMeaning(System::String^ wM);
private:
System::String^ word;
System::String^ wordMeaning;
};
}
#include "StdAfx.h"
#include "Words.h"
namespace Vocabulary {
Words::Words(void)
{
word = ""; wordMeaning = "";
}
Words::Words(System::String^ w, System::String^ wM)
{
word = w; wordMeaning = wM;
}
System::String^ Words::getWord()
{
System::String^ s;
s = word->Clone()->ToString();
return s;
}
System::String^ Words::getMeaning()
{
System::String^ s;
s
= wordMeaning->Clone()->
return s;
}
System::Void Words::setWord(System::String^ w)
{
word = w;
}
System::Void Words::setMeaning(System::
{
wordMeaning = wM;
}
}
#pragma once
#include "Words.h"
namespace Vocabulary{
public ref class VocData
{
public:
VocData(void);
//сохраняет данные в файл эксель
System::Void CommitData(Words^ W);
//получает значение ячейки файла эксель
System::String^ getCellValue(int i, int j);
//ищет слово и возвращает толкование
System::String^ Find(System::String^ word);
//очищает память
System::Void KillAll();
//получает
количество строк в файле
int getRowsCount();
//получает проценты загрузки файла
int getPercentsLoaded();
private:
Microsoft::Office::
Words^ wrd;
int exRowsCount;
int PercentsLoaded;
//загружает данные из файла эксель
System::Void LoadData();
};
}
#include "StdAfx.h"
#include "VocData.h"
namespace Vocabulary{
VocData::VocData(void)
{
LoadData();
}
System::Void VocData::LoadData()
{
ExcelApp
= gcnew Microsoft::Office::Interop::
ExcelApp->Application->
ExcelApp->Columns->ColumnWidth = 30;
//DataGridView^ dataGridView_ = gcnew DataGridView();
//Загрузка данных
/*toolStripProgressBar2->
toolStripProgressBar2->Maximum = 100;
toolStripLabel2->Visible = true;
toolStripProgressBar2->Visible = true;
toolStripProgressBar2->Value = 0;*/
exRowsCount = 0;
ExcelApp = gcnew Microsoft::Office::Interop::
ExcelApp->Application->
ExcelApp->Columns->ColumnWidth = 30;
Microsoft::Office::Interop::
ExcelApp->Workbooks->Open("C:/
Microsoft::Office::Interop::
(Microsoft::Office::Interop::
//dataGridView1->Rows[0]->
((Microsoft::Office::Interop::
//dataGridView1->Rows[0]->
((Microsoft::Office::Interop::
for (int i=0;i<100;i++)
{ try
((Microsoft::Office::Interop::
}
}
System::Void VocData::CommitData(Words^ W)
{
wrd = W;
//
//
//Добавление данных
ExcelApp->Cells[exRowsCount+1, 1] = wrd->getWord();
ExcelApp->Cells[exRowsCount+1, 2] = wrd->getMeaning();
ExcelApp->ActiveWorkbook->
ExcelA
}
System::String^ VocData::Find(System::String^ word)
{
System::String^ result;
int exRowsCount = 0, k = 0, l = 0;
ExcelApp = gcnew Microsoft::Office::Interop::
ExcelApp->Application->
ExcelApp->Columns->ColumnWidth = 30;
Microsoft::Office::Interop::
ExcelApp->Workbooks->Open("C:/
Microsoft::Office::Interop::
Microsoft::Office::Interop::
(Microsoft::Office::Interop::
for (int i=0;i<100;i++)
{ try
((Microsoft::Office::Interop::
catch(System::