Розробка тлумачного словника

Автор работы: Пользователь скрыл имя, 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

Прикрепленные файлы: 4 файла

01 Титул_лист_КП.doc

— 31.50 Кб (Просмотреть файл, Скачать документ)

03 Курсачок в рамке.docx

— 110.32 Кб (Просмотреть файл, Скачать документ)

04 Додатки.docx

— 334.24 Кб (Скачать документ)

                              } 

                  }

                  toolStripLabel1->Visible = false; 

       }

       //при запуске приложения

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

             toolStripLabel1->Visible = true;

             //toolStripProgressBar1->Visible = true;

             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());

                  dataGridView1->Rows[i]->Cells[0]->Value = vocabulary->getCellValue(i+1,1);

                  toolStripProgressBar1->Value = i;

             }

             //toolStripProgressBar1->Value = vocabulary->getRowsCount();

             toolStripLabel1->Visible = false;

             toolStripProgressBar1->Visible = false;

       }

             //при выборе другой  ячейки в таблице просмотра  слов

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

            if(dataGridView1->CurrentRow->Cells[0]->Value!="")

            {

              int r = dataGridView1->CurrentRow->Index;

              Description->Text = vocabulary->getCellValue(r+1,2);

            }

       }

             //обработчик закрытия  окна приложения

private: System::Void OnClose(System::Object^  sender,

System::Windows::Forms::FormClosedEventArgs^  e) {

                  vocabulary->KillAll();

             }

             //обновление данных

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

             toolStripLabel1->Visible = true;

             toolStripLabel1->Text = "Шукаю...";

             //toolStripProgressBar1->Visible = true;

             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());

                        dataGridView1->Rows[i]->Cells[0]->Value =

vocabulary->getCellValue(i+1,1);

                        toolStripProgressBar1->Value = i;

                   }

                   //toolStripProgressBar1->Value = vocabulary->getRowsCount();

                   toolStripLabel1->Visible = false;

                   toolStripProgressBar1->Visible = false;

             }

             //очистить все поля  на второй вкладке 

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

                   textBox1->Text = "";

                   richTextBox1->Text = "";

             }

             //записать данные  в файл эксель по нажатию  на кнопку "галочка"

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

             toolStripLabel2->Visible = true;

             vocabulary->CommitData(gcnew Vocabulary::Words(textBox1->Text,richTextBox1->Text));

             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()->ToString();

      return s;

} 

System::Void Words::setWord(System::String^ w)

{

      word = w;

} 

System::Void Words::setMeaning(System::String^ wM)

{

      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::Interop::Excel::ApplicationClass^ ExcelApp;

      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::Excel::ApplicationClass();

                   ExcelApp->Application->Workbooks->Add(System::Type::Missing);

                   ExcelApp->Columns->ColumnWidth = 30;

                   //DataGridView^ dataGridView_ = gcnew DataGridView();

                   //Загрузка данных

                   /*toolStripProgressBar2->Minimum = 0;

                   toolStripProgressBar2->Maximum = 100;

                   toolStripLabel2->Visible = true;

                   toolStripProgressBar2->Visible = true;

                   toolStripProgressBar2->Value = 0;*/

                   exRowsCount = 0;

                     ExcelApp = gcnew Microsoft::Office::Interop::Excel::ApplicationClass();

                     ExcelApp->Application->Workbooks->Add(System::Type::Missing);

                     ExcelApp->Columns->ColumnWidth = 30;

                     Microsoft::Office::Interop::Excel::Workbook^ workBook =

ExcelApp->Workbooks->Open("C:/VDB.xls", 0, true, 5, "", "", true, Microsoft::Office::Interop::Excel::XlPlatform::xlWindows, "\t", false, false, 0, true, 1, 0);

                     Microsoft::Office::Interop::Excel::Worksheet^ workSheet =

(Microsoft::Office::Interop::Excel::Worksheet^)workBook->ActiveSheet;

                     //dataGridView1->Rows[0]->Cells[0]->Value =

((Microsoft::Office::Interop::Excel::Range^)ExcelApp->Cells[1,1])->Value2;

                     //dataGridView1->Rows[0]->Cells[1]->Value =

((Microsoft::Office::Interop::Excel::Range^)ExcelApp->Cells[1,2])->Value2;

                     for (int i=0;i<100;i++)

                     {   try

                              {

                                 System::String ^str =

((Microsoft::Office::Interop::Excel::Range^)ExcelApp->Cells[i+1,1])->Value2->ToString();

                                 if(str!="")

                                          exRowsCount++;

                                 //toolStripProgressBar1

                              }

                              catch(System::NullReferenceException^)

                              {}

                              PercentsLoaded = i;

                              //toolStripProgressBar1->Value = i;

                     }

}

System::Void VocData::CommitData(Words^ W)

      {

            wrd = W;

                          

                        //toolStripLabel2->Visible = false;

                        //toolStripProgressBar2->Visible = false;

                         //Добавление данных

                         ExcelApp->Cells[exRowsCount+1, 1] = wrd->getWord();

                         ExcelApp->Cells[exRowsCount+1, 2] = wrd->getMeaning();

                         ExcelApp->ActiveWorkbook->SaveCopyAs("C:/VDB.xls");

                        ExcelApp->ActiveWorkbook->Saved = true;

      } 

System::String^ VocData::Find(System::String^ word)

      {

            System::String^ result;

            int exRowsCount = 0, k = 0, l = 0;

                   ExcelApp = gcnew Microsoft::Office::Interop::Excel::ApplicationClass();

                   ExcelApp->Application->Workbooks->Add(System::Type::Missing);

                   ExcelApp->Columns->ColumnWidth = 30;

                   Microsoft::Office::Interop::Excel::Workbook^ workBook =

ExcelApp->Workbooks->Open("C:/VDB.xls", 0, true, 5, "", "", true,

Microsoft::Office::Interop::Excel::XlPlatform::xlWindows, "\t", false, false, 0, true, 1, 0);

                   Microsoft::Office::Interop::Excel::Worksheet^ workSheet =

(Microsoft::Office::Interop::Excel::Worksheet^)workBook->ActiveSheet;

                   for (int i=0;i<100;i++)

                     {   try

                              { 

                                 System::String ^str =

((Microsoft::Office::Interop::Excel::Range^)ExcelApp->Cells[i+1,1])->Value2->ToString();

                                 if(str!="")

                                          exRowsCount++;

                                 //toolStripProgressBar1

                              }

                          catch(System::NullReferenceException^)

                              {}

Информация о работе Розробка тлумачного словника