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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 20.2.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. Зясуйте основні етапи розвитку сумспільства на території України у камяну добу
2. КОНТРОЛЬНАЯ РАБОТА По электротехническим и конструкционным материалам Шифр 86 Группа.html
3. Тема задания- Управление затратами на производство и реализацию продукции
4. Способы формирования муниципальной собственности правовое регулирование и сравнительный анализ1
5. измерительные приборы провода контакты и предохранители
6. тема В настоящее время Интернет представляет собой один из самых активно развивающихся средств информации
7. Гумус - хлеб для растений
8.  Вычисление валентности логических связок и их численная интерпретация в двузначной и многозначной логике
9. и макрокосмоса. Древние китайцы представляли мир в виде господства двух начал ~ ян светлое возвышенное о
10. Два доллара Я Ему стало трудно продолжать