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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

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. Стадии совершения преступления в аспекте уголовноправовых отношений
3. Моральный кодекс строителя коммунизма.html
4. форсмажором. В Великобритании Ирландии Испании Португалии такое пособие выплачивается только при нек
5. тематики Розв~язки квадратного рівняння- Властивості пропорці
6. Концептуализм
7. N 87 і зареєстрованого в Міністерстві юстиції України 21 червня 1999 р
8. Тема 3 Основные принципы лечения переломов и вывихов костей и нарушений консолидации переломов
9. Мектеп 2005 {Класс}10 {Четверть} 2 002 Антонимді с~з тіркесін аны~та~ыз
10. Библиотечный менеджер требования к личности
11. тема по уходу за полостью рта В наше непростое время для здоровья особенно важно содержать свою полость рт
12. Солнечное теплоснабжение- состояние дел и перспективы развития.html
13. I века до нашей эры Эллинизм с точки зрения исторической науки это период в истории античных государств
14. Опрос на изучение сложившейся на предприятии системы мотивации персонала
15. Лабораторная работа 6 Функции программиста.
16. НЕТ ДАТА РОЖДЕНИЯ МЕСТО РОЖДЕНИЯ
17. 081994 N 26ФЗ от 28
18. Изучение запасов природного газа было связано только с разведкой нефти
19. вариантная единица языка
20. Сыктывкарский государственный университет ОСНОВНАЯ ОБРАЗОВАТЕ