У вас вопросы?
У нас ответы:) SamZan.net

Робота з текстовими файлами

Работа добавлена на сайт samzan.net: 2016-03-30

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 29.4.2025

PAGE 3

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, молоді та спорту УКРАЇНИ

Національний аерокосмічний університет ім. М.Є. Жуковського

“Харківський авіаційний  інститут”

Кафедра комп’ютерних систем та мереж

Титульный лист заполняется на украинском языке 

Остальная часть отчета может быть как на украинском, так и на русском 

Домашнє завдання №1

з дисципліни “Обчислювальна техніка та програмування”

Робота з текстовими файлами

ХАІ.503.516БУКВА_ГРУППЫ.13В. 050102,НОМЕР_ЗАЧЕТКИ ПЗ

Виконав студент гр. 516Б   Момот О. О.Фамилия И.О. 

(№ групи) (П.І.Б.)

 

(підпис, дата)

Перевірив ст. викладач каф. 503

(науковий ступінь, вчене звання, посада)

    Дужа В. В.

(підпис, дата) (П.І.Б.)

2013

Вариант 11

  1.  Задание №1

Дана последовательность прописных (больших) латинских букв.

После каждой буквы вставить последнюю букву.

1.2  Алгоритм программы

1.3  Тестовые наборы

№ теста

Строка в файле №1

Ожидаемый результат в файле №2

1

ARMY

AYRYMYYY

2

THE CAPRAL IN THE ARMY

TEHEEE CLALPLRLALLL INNN TEHEEE AYRYMYYY

3

THE COMPUTER IS THE LENOVO

TEHEEE CRORMRPRURTRERRR ISSS TEHEEE LONOOOVOOO

1.4  Код программы

#include <stdio.h>

#include <string.h>

#include <Windows.h>

#include <locale.h>

#define MAX 255

int main()

{

setlocale(LC_CTYPE, "rus");

 char st[MAX], s[MAX];

 char *pw = st, *ps = st;

 char sym, symb;

symb = ' ';

 int n, k = 1, a = 0;

 FILE *fd, *fu;

 char fname1[50];

 char fname2[50];

printf("Введите имя файла для считывания: ");

gets(fname1);

fd=fopen(fname1,"rt");

 if (fd==NULL)

{

 printf("Ошибка в имени файла - %s\n",fname1);

 system("pause");

 return 0;

}

fgets(st, MAX, fd);

printf("Введите имя файла для создания: ");

gets(fname2);

fu=fopen(fname2,"wt");

 if (fu==NULL)

{

 printf("Ошибка в имени файла - %s\n",fname2);

 system("pause");

 return 0;

}

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

 if (st[i] == symb) k++;

 do

{

 if (*ps != ' ')

 {

  ps++;

 }

 else

 {

  *ps = '\0';

  if ((n = strlen(pw)) > 1)

   sym = pw[n - 1];

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

  {

   if(pw[i] != ' ')

   {

    putc (pw[i],fu);

    putc (sym,fu);

   }

   else

    putc (' ',fu);

  }

  pw = ++ps;

  putc (' ',fu);

  a++;

 }

}

 while (k != a);

fclose(fu);

fclose(fd);

system("pause");

 return 0;

}

1.5 Результат работы программы

№ теста

Строка в файле №1

Результат в файле №2

Вывод

1

ARMY

AYRYMYYY

Тест пройден

2

THE CAPRAL IN THE ARMY

TEHEEE CLALPLRLALLL INNN TEHEEE AYRYMYYY

Тест пройден

3

THE COMPUTER IS THE LENOVO

TEHEEE CRORMRPRURTRERRR ISSS TEHEEE LONOOOVOOO

Тест пройден

1.6  Вывод о работоспособности программы

 Программа прошла тестирование: в результате выполнения тестов программа выдала ожидаемые результаты. Программа – работоспособна.

2.1  Задание №2

Даны строки S и S0. Найти количество вхождений строки S0 в строку S.

 2.2 Алгоритм программы

2.3  Тестовые наборы

№ теста

Строка в файле №1

Ввод строки S0

Ожидаемый результат

1

mama mula ramy mama mula ramy mama mula ramy

mama mula

3

2

1114 5556 1114 7777

1114

2

3

est west norse est west west

est

5

2.4  Код программы

#include <string.h>

#include <locale.h>

#include <stdio.h> 

#include <Windows.h>

#define MAX 255

int main()

{

setlocale(LC_CTYPE,"rus");

 FILE *fd, *fu;

 char fname1[50];

 char fname2[50];

   int k, cnt = 0;                 

 char S[MAX];

 char S0[MAX];

printf("Введите имя файла для считывания S: ");

gets(fname1);

fd=fopen(fname1,"rt+");

 if (fd==NULL)

{

 printf("Ошибка в имени файла - %s\n",fname1);

 system("pause");

 return 0;

}

fgets(S, MAX, fd);

printf("Введите имя файла для создания: ");

gets(fname2);

fu=fopen(fname2,"wt+");

 if (fu==NULL)

{

 printf("Ошибка в имени файла - %s\n",fname2);

 system("pause");

 return 0;

}

   puts("Введите строку S0:");         

   gets (S0);  

 int const la = strlen(S);

 for(int i = 0 ; i < la; i++)

{

 char tmp[MAX] = "";

 if(S[i] == S0[0])

 {

  int j = i;

  k = 0;

  while(S[j] == S0[k])

  {

   tmp[k] = S[j];

   j++;

   k++;

  }

  if(!(strcmp(S0,tmp)))

   cnt++;

  if(S0[0] == S0[1])

   i += strlen(S0) - 1;

 }

}

fprintf(fu,"S0 входит в S %i раз(а).", cnt);

fclose(fu);

fclose(fd);

   system ("pause");                    

   return 0;                    

}

2.5 Результат работы программы

№ теста

Ввод строки S

Ввод строки S0

Результат в файле №2

Вывод

1

mama mula ramy mama mula ramy mama mula ramy

mama mula

3

Тест пройден

2

1114 5556 1114 7777

1114

2

Тест пройден

3

est west norse est west west

est

5

Тест пройден

2.6  Вывод о работоспособности программы

Программа прошла тестирование: в результате выполнения тестов программа выдала ожидаемые результаты. Программа – работоспособна.




1. Вариант 5 1Укажите с чем был связано возникновение практики управления
2. Модуль 1 Основные понятия и определения теории познания мира 1 ~ 172 1
3. Гунзибцы
4. РЕФЕРАТ дисертації на здобуття наукового ступеня доктора технічних наук Київ ~ Д.html
5. Доклад- Взятие Киева в 1169 году
6. Тема- Краткая характеристика чрезвычайных ситуаций характерных для РБ План лекции- Введение Цели зад.html
7. фи нансы всегда представляют государственноорганизованную систему де нежных отношений в обществе
8. Методы выбора поставщика
9. Реферат- Способы и порядок проведения работ по обеззараживанию
10. Тема 1. Теория государства и права 1