Бакалавр
Дипломные и курсовые на заказ

Стратегия решения задачи

РефератПомощь в написанииУзнать стоимостьмоей работы

Проверка для слов с большой буквы. Удаляем первую букву, из слова, взятого из словаря и заменяем заглавной. If (recordOfDictionary.Value.Equals (textList, System.StringComparison.OrdinalIgnoreCase)) // System.StringComparison.OrdinalIgnoreCas — не учитывать регистр. If (recordOfDictionary.Key.Equals (textList, System.StringComparison.OrdinalIgnoreCase… Читать ещё >

Стратегия решения задачи (реферат, курсовая, диплом, контрольная)

Интерфейсная часть проекта

Интерфейс программы был разработан следующим образом:

На основной форме проекта были размещены панели ввода и вывода данных, кнопки, которые позволяют выбирать условие, соответствующее описанию перевода. А так же главная кнопка, запускающая разработанный алгоритм перевода слов (рис. 1). Вверху находится меню, содержащая панель «О программе», где можно найти справку или же узнать о возможных причинах некорректной работы программы в разделе «Помощь» .

Листинги проекта

using System;

using System.Collections.Generic;

using System. ComponentModel;

using System. Data;

using System. Drawing;

using System. Linq;

using System. Text;

using System.Windows.Forms;

using System.Text.RegularExpressions;

using ERLibrary;

namespace ER_TRNSLTD.

{.

public partial class Form1: Form.

{.

public Form1().

{.

InitializeComponent ();

}.

private void КнопкаПеревода1_Клик (object sender, EventArgs e).

{.

Перевод (true);

}.

private void КнопкаПеревода2_Клик (object sender, EventArgs e).

{.

Перевод (false);

}.

private void Перевод (bool typeTranslate).

{.

richTextBox3.Clear ();

// Список, в который поэлементно занесутся слова и символы введённого текста.

List textList = new List ();

// Тестовая переменная, равная введённому тексу.

string inputText = richTextBox1. Text;

//## ИСПРАВЛЕНИЕ (добавляем в конец и начало текста по пробелу).

inputText = «» + inputText;

inputText += ««;

// Переменная, для формирования слов.

string word = «» ;

// Замена фраз.

foreach (var z in RELibraryDictionary. phraseList).

{.

inputText = inputText. Replace (z.Key, z. Value);

// все символы с маленькой буквы.

inputText = inputText. Replace (z.Key.ToLower (), z.Value.ToLower ());

}.

// Замена (удаление передлогов).

foreach (var z in RELibraryDictionary. prepositionList).

{.

//## ИСПРАВЛЕНИЕ Проверка на предлог после которого ««, «.» или «,» .

inputText = inputText. Replace (z.Key + ««, «» + z. Value);

inputText = inputText. Replace (z.Key + «.», z. Value + «.»);

inputText = inputText. Replace (z.Key + «,», z. Value + «,»);

//## ИСПРАВЛЕНИЕ. все символы с маленькой буквы и аналогичные варианты с «.», «,» и ««.

inputText = inputText. Replace (z.Key.ToLower () + ««, «» + z.Value.ToLower ());

inputText = inputText. Replace (z.Key.ToLower () + «.», z.Value.ToLower () + «.»);

inputText = inputText. Replace (z.Key.ToLower () + «,», z.Value.ToLower () + «,»);

}.

//# ИСПРАВЛЕНИЕ. Удаляем добавленные два пробела — один сначала, другой с конца.

inputText = inputText. Remove (0, 1);

inputText = inputText. Substring (0, inputText. Length — 1);

// Разбитие введённого символа на слова и символа.

foreach (char letter in inputText).

{.

string letterString = Convert. ToString (letter);

// Если встретился символ.

if (letterString.Equals («.») ||.

letterString.Equals (««) ||.

letterString.Equals («,») ||.

letterString.Equals («:») ||.

letterString.Equals («!») ||.

letterString.Equals («?») ||.

letterString.Equals («)») ||.

letterString.Equals («(») ||.

letterString.Equals («- «) ||.

letterString.Equals (««).

).

{.

if (!word.Equals (««)) // Если до символа было слово.

{.

// Добавить слово.

textList.Add (word);

// Сделать переменную, для временного хранения слова пустой «» .

word = «» ;

}.

textList.Add (letterString);

}.

else.

{.

// Начать/продолжить собирать слово по буквам.

word += letterString;

}.

}.

if (!word.Equals (««)) textList. Add (word);

// Для каждого элемента сформированного списка.

for (int i = 0; i < textList. Count; i++).

{.

// Поиск слова в словаре.

foreach (var recordOfDictionary in RELibraryDictionary. wordList).

{.

//Проверка для слов с большой буквы. Удаляем первую букву, из слова, взятого из словаря и заменяем заглавной.

string k = (string)(recordOfDictionary.Key.Remove (1, recordOfDictionary.Key.Length — 1)).ToUpper () + recordOfDictionary.Key.Remove (0, 1);

if (k.Equals (textList[i])).

{.

string v = (string)(recordOfDictionary.Value.Remove (1, recordOfDictionary.Value.Length — 1)).ToUpper () + recordOfDictionary.Value.Remove (0, 1);

// Заменить слово на значение словаря (значение — правый столбец словаря).

textList[i] = v;

// Завершить поиск для этого слова.

break;

}.

if (radioButton_ER.Checked).

{.

// Всё слово нижним регистром.

// Если слово совпало с ключом словаря (ключ — левый столбец словаря).

if (recordOfDictionary.Key.Equals (textList[i], System.StringComparison.OrdinalIgnoreCase)) // System.StringComparison.OrdinalIgnoreCas — не учитывать регистр

{.

// Заменить слово на значение словаря (значение — правый столбец словаря).

textList[i] = recordOfDictionary. Value;

// Завершить поиск для этого слова.

break;

}.

}.

else if (radioButton_RE.Checked).

{.

//Для перевода с русского на английский — т. е. наоборот — ищем значение словаря для слова, заменяем слово ключом.

if (recordOfDictionary.Value.Equals (textList[i], System.StringComparison.OrdinalIgnoreCase)) // System.StringComparison.OrdinalIgnoreCas — не учитывать регистр

{.

textList[i] = recordOfDictionary. Key;

break;

}.

}.

foreach (string wrd in textList) richTextBox3. Text += wrd;

}.

private void Form1_Load (object sender, EventArgs e).

private void выходToolStripMenuItem_Click (object sender, EventArgs e).

{.

this.Close ();

}.

private void справкаToolStripMenuItem_Click (object sender, EventArgs e).

{.

Справка form = new Справка ();

form.ShowDialog ();

}.

private void помощьToolStripMenuItem_Click (object sender, EventArgs e).

{.

Помощь form = new Помощь ();

form.ShowDialog ();

}.

}.

}.

перевод интерфейс приложение программирование.

Показать весь текст
Заполнить форму текущей работой