У вас вопросы?
У нас ответы:) 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. Тема 9- Перегляд судових рішень в апеляційному порядку Ситуаційні завдання Задача 1 До Одеського
3.  Играете ли Вы в компьютерные игры 1 Да 2 Нет Блок для играющих 2
4. ОТЧЕТ ПО ПРОИЗВОДСТВЕННОЙ ПРАКТИКЕ практика по профилю специальности ПМ 01 Реализация лекарственных
5. Topics of projects for 1course students on the lessons of BIY Midterm 4 Mke survey finding out the certin chnges students 1st course students hve experienced since they entered the uni
6. либо объекте процессе в результате чего формируется образ объекта проводятся его опознание и оценка
7. Гражданское право
8. тема стандартов по информации библиотечному и издательскому делуГОСТ 7
9. предшественник зрелые клки
10. на тему Развитие систем электронных денег и их инфраструктуры в России Полное наименование темы студен