Переводчик с английского на русский и обратно - C#
Формулировка задачи:
Помогите, пожалуйста. Требуется разработать приложение - переводчик с английского на русский и обратно. Словарь с переводом должен загружаться из файла. У пользователя 2 действия: перевести англ. текст или перевести рус. текст. Все вводится с консоли.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace Курсовая
{
class Program
{
static void Main(string[] args)
{
string[] ruText = new string[File.ReadAllLines("ru.txt").Length];
string[] engText = new string[File.ReadAllLines("eng.txt").Length];
string n = Console.ReadLine();
string[] mas1 = n.Split();
StreamWriter SW= new StreamWriter(new FileStream("VvodRus.txt",FileMode.Create, FileAccess.ReadWrite));
for (int i = 0; i < mas1.Length; i++)
{
SW.WriteLine(mas1[i]);
}
SW.Close();
string[] rus = new string[File.ReadAllLines("VvodRus.txt").Length];
/* for (int i = 0; i < ruText.Length; i++)
{
rus[i] = File.ReadAllLines("VvodRus.txt")[i];
ruText[i] = File.ReadAllLines("ru.txt")[i];
if (rus[i].Equals(StringComparison.CurrentCultureIgnoreCase))
{
Console.WriteLine(ruText[i]);
return;
}
}*/
}
}
}Решение задачи: «Переводчик с английского на русский и обратно»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
Translator enru = new Translator(1);
string text = "I do not understand";
Console.WriteLine(text);
Console.WriteLine(enru.Translate(text));
Console.WriteLine();
Translator ruen = new Translator(2);
string text2 = "я делать не понимать";
Console.WriteLine(text2);
Console.WriteLine(ruen.Translate(text2));
Console.ReadKey();
}
}
class Translator
{
Dictionary<string, string> dict=new Dictionary<string,string>();
public Translator(int direction) //конструктор, в котором заполняется словарь из файла
{
string[] dictionary = File.ReadAllLines(@"d:\Dictionary.txt", Encoding.Default);
foreach (string line in dictionary)
{
string[] words = line.Split(' ');
if (direction==1)
dict.Add(words[0], words[1]);
else
dict.Add(words[1], words[0]);
}
}
public string Translate(string text) //метод перевода
{
string[] textArray = text.Split(' ');
string result = string.Empty;
foreach (string word in textArray)
{
if (dict.ContainsKey(word))
result += dict[word] + " ";
else
result += "<???> "; //если нет в словаре
}
return result;
}
}
}