Курсовая работа: Обучающая программа-переводчик текста
{ for (unsigned int r=0; r<GetSize();++r) //пробегаемповекторуслов
if (GetWord(r).One==W) //если первое слово "подкласса"
//_вектора равно искомому
returnGetWord(r).Two; //вернуть второе слово "подкласса"
return ""; //иначе возвращается пустая строка}
Функция Translate непосредственно вызывается только из функции TranslateString, ответственной за пословный перевод текста.
AnsiString TWords::TranslateString(AnsiString Str) //передаётсявведённыйтекст
{ Str=Str+'\n'; //добавление перевода строки
AnsiString W; //отдельное слово из введённого текста
AnsiString outp; //строка-перевод
for(int i=1;i<=Str.Length();i++) //пробегаем по длине введённого текста
{ f(Str[i]!=' ' && Str[i]!='\r' && Str[i]!='\n' && ((Str[i] >= 'a' && Str[i]<='z') || (Str[i] >= 'а' && Str[i]<='я')))
W=W+Str[i]; //посимвольно формируем слово (исключая знаки-небуквы)
else //если символ-пробел или строка закончилась
if(W!="") //если слово непустое
{
//в строку перевода пишем исходное слово + перевод + возврат каретки
outp=outp+W.UpperCase() + " : "+Translate(W)+"\n";
W=""; //обнуляем переводимое слово
}
}
return outp;}
Работа Tutor, описанная в файле реализации формы TTutor, построена практически аналогично работе основного переводчика – на основании функции TranslateString:
void __fastcall TTutor::CheckClick(TObject *Sender)
{
AnsiString W = TwoW->Text.LowerCase();
if(Wordz.Translate(W)==OneW->Text.LowerCase())
//если перевод введённого слова совпадает с данным пользователю описанием
{ Result->Caption="That's right!! =) " + Wordz.GetWord(k).One;//правильно!