Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Інструкція користувачеві



 

Користувач повинен запустити програму. Після чого з’явиться консольне вікно:

 

 

У вікні користувач побачить пункти меню, після чого він повинен натиснути на одну із клавіш 1,2 або Esc., і зможе потрапити в один із пунктів. Наприклад користувач натиснув клавішу 1:

 

 

На екран виводиться текст, який міститься у файлі, але у читабельному вигляді.

Повернувшись в робоче меню, користувач повинен знову ввести одну із клавіш наприклад користувач натискає клавішу 2:

 

 

Користувачу пропонується ввести з клавіатури речення українською мовою. Для цього потрібно натиснути клавішу.

Після натискання клавіші Enter на екрані з’явиться транслітерація введеного вище тексту.

Користувач може знову повернутись у меню програми, і натиснути клавішу Escape для завершення роботи.

Результат буде таким:

 

 

 


Контрольні приклади та аналіз їх реалізації

 

Для відлагодження та перевірки працездатності програми я використовував такі тестові набори:

1. У файл input.txt занесено такий текст: «Курсову роботу виконав Скиба Ростислав».

В результаті, отримається транслітерований текст: «Kursovu robotu vykonav Skyba Rostyslav»

2. З клавіатури введено: «Сесія розпочинається!».

Отримаємо результат: «Sesiya rozpochynayet’’sya!».

За результатами тестів які я проводив можна сказати, що програма працює якісно і швидко та без жодної помилки.

 


Висновок

 

В результаті роботи над завданням було сформовано кінцевий продукт – програму: транслітератор україномовних текстів латинськими літерами.

В ній реалізовані наступні можливості:

· Можливість виконувати транслітерацію, зчитуючи текст із файлу.

· Можливість виконувати транслітерацію через ввід тексту з клавіатури.

· В програмі реалізовано зручний та зрозумілий інтерфейс.


Література

 

1. Шпак З.Я. – Програмування мовою С

2. Керниган Б., Ритчи Д. - Мова програмування Си.

3. Інтернет - http://uk.wikipedia.org/wiki/Транслітерація

4. Інтернет - http://lp.edu.ua/tc.terminology/TK_translit.htm

5. Інтернет - http://lukom.org/Pages/Blog.aspx/transliteration

 


Додаток

 

Текст програми

#include <stdio.h>

#include <windows.h>

#include <locale.h>

#include <conio.h>

#include <stdlib.h>

 

 

void ToTranslate(char *srcStr, char *resultStr);

void Clear(char *str);

 

int main()

{

setlocale(LC_ALL, "Russian");

FILE *f = NULL; //вказiвник на вiдкриваючий файл

int choice=0; //зміна для збереження вибору

char srcStr[256]={0}; //стрiчка, зчитана з файлу або з клавiатури

char resultStr[512]={0};//буфер result, для внесення переведеної стрічки

do

{

system("cls");

printf("\t\tПрограма переводy українського тексту в транслiт\n\n");

printf(" 1. Перевiд з файлу \n");

printf(" 2. Перевiд з клавiатури \n");

printf("Esc. Вихiд\n");

choice=getch();

if(choice==27)

{

printf("\n\t\t\t\tДо побачення !\n\n");

system("pause");

exit(1);

}

else if(choice=='1')

{

system("cls");

printf("\n\t\t\tВибраний режим переводу з файлу\n\n");

if(!(f = fopen("C:\\file.txt","r")))//спроба вiдкрити

{

printf("Файл не знайдено! \n");

break;

}

printf("\nРезультат переводу: \n\n");

while(!feof(f))//доки не досягнуто кінця файлу зчитуємо дані

{

fgets(srcStr,256,f);//прочитали cтрічку

ToTranslate(srcStr,resultStr);//перевели і записали в result

printf("%s",resultStr);//вивели переклад

Clear(resultStr);//очистили стрічку, для того, щоб текст при наступному кроці циклу не дублювався

}

Clear(resultStr);

Clear(srcStr);

fclose(f);

printf("\n\n\t\tДля повернення в меню натиснiть будь-яку кнопку\n\n");

getch();

}

else if(choice=='2')

{

system("cls");

printf("\n\t\t\tВибраний режим переводу з клавiатури\n\n");

printf("Введiть речення для переводу: \n");

gets(srcStr);

OemToChar(srcStr,srcStr);

ToTranslate(srcStr,resultStr);//переводимj стрічку і записуємо в resultStr

printf("\nРезультат переводy:\n%s",resultStr);

printf("\n\n\t\tДля повернення в меню натиснiть будь-яку кнопку\n\n");

getch();

Clear(resultStr);

Clear(srcStr);

}

}while(1);

}

 

void ToTranslate(char *srcStr, char *resultStr)

{

char temp[2]={0};

for(int i=0;i<strlen(srcStr);i++)

{

switch(srcStr[i])

{

case 'а':

strcat(resultStr,"a");

break;

case 'б':

strcat(resultStr,"b");

break;

case 'в':

strcat(resultStr,"v");

break;

case 'г':

strcat(resultStr,"h");

break;

case 'ґ':

strcat(resultStr,"g");

break;

case 'д':

strcat(resultStr,"d");

break;

case 'е':

strcat(resultStr,"e");

break;

case 'є':

strcat(resultStr,"ye");

break;

case 'ж':

strcat(resultStr,"zh");

break;

case 'з':

strcat(resultStr,"z");

break;

case 'и':

strcat(resultStr,"y");

break;

case 'і':

strcat(resultStr,"i");

break;

case 'ї':

strcat(resultStr,"yi");

break;

case 'й':

strcat(resultStr,"j");

break;

case 'к':

strcat(resultStr,"k");

break;

case 'л':

strcat(resultStr,"l");

break;

case 'м':

strcat(resultStr,"m");

break;

case 'н':

strcat(resultStr,"n");

break;

case 'о':

strcat(resultStr,"o");

break;

case 'п':

strcat(resultStr,"p");

break;

case 'р':

strcat(resultStr,"r");

break;

case 'с':

strcat(resultStr,"s");

break;

case 'т':

strcat(resultStr,"t");

break;

case 'у':

strcat(resultStr,"u");

break;

case 'ф':

strcat(resultStr,"f");

break;

case 'х':

strcat(resultStr,"kh");

break;

case 'ц':

strcat(resultStr,"ts");

break;

case 'ч':

strcat(resultStr,"ch");

break;

case 'ш':

strcat(resultStr,"sh");

break;

case 'щ':

strcat(resultStr,"shch");

break;

case 'ь':

strcat(resultStr,"''");

break;

case 'ю':

strcat(resultStr,"yu");

break;

case 'я':

strcat(resultStr,"ya");

break;

case 'А':

strcat(resultStr,"A");

break;

case 'Б':

strcat(resultStr,"B");

break;

case 'В':

strcat(resultStr,"V");

break;

case 'Г':

strcat(resultStr,"H");

break;

case 'Ґ':

strcat(resultStr,"G");

break;

case 'Д':

strcat(resultStr,"D");

break;

case 'Е':

strcat(resultStr,"E");

break;

case 'Є':

strcat(resultStr,"Ye");

break;

case 'Ж':

strcat(resultStr,"Zh");

break;

case 'З':

strcat(resultStr,"Z");

break;

case 'И':

strcat(resultStr,"Y");

break;

case 'І':

strcat(resultStr,"I");

break;

case 'Ї':

strcat(resultStr,"Yi");

break;

case 'Й':

strcat(resultStr,"Y");

break;

case 'К':

strcat(resultStr,"K");

break;

case 'Л':

strcat(resultStr,"L");

break;

case 'М':

strcat(resultStr,"M");

break;

case 'Н':

strcat(resultStr,"N");

break;

case 'О':

strcat(resultStr,"O");

break;

case 'П':

strcat(resultStr,"P");

break;

case 'Р':

strcat(resultStr,"R");

break;

case 'С':

strcat(resultStr,"S");

break;

case 'Т':

strcat(resultStr,"T");

break;

case 'У':

strcat(resultStr,"U");

break;

case 'Ф':

strcat(resultStr,"F");

break;

case 'Х':

strcat(resultStr,"Kh");

break;

case 'Ц':

strcat(resultStr,"Ts");

break;

case 'Ч':

strcat(resultStr,"Ch");

break;

case 'Ш':

strcat(resultStr,"Sh");

break;

case 'Щ':

strcat(resultStr,"Shch");

break;

case 'Ь':

strcat(resultStr,"''");

break;

case 'Ю':

strcat(resultStr,"Yu");

break;

case 'Я':

strcat(resultStr,"Ya");

break;

default:

temp[0] = srcStr[i];

temp[1] = 0;

strcat(resultStr,temp);

break;

}

}

}

 

void Clear(char *str)

{

for(int i=0;i<strlen(str);i++)

{

str[i]=0;

}

}

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.