Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Розрахункова робота.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
619.52 Кб
Скачать

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

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

  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;

}

}