Автор работы: Пользователь скрыл имя, 05 Июня 2013 в 20:42, лабораторная работа
Разработать алгоритм и программу поиска объектов в файле, и выполнение операций над ними в соответствии с индивидуальным заданием. Результат сохранить в другом файле.
Вариант индивидуального задания: А9В2 (копировать трехзначные числа).
Программа разработана на языке «С++».
Задание 3
1. Разработка алгоритма 4
2. Разработка программы 6
3. Вычислительный эксперимент 7
Заключение 8
Список литературы 8
Министерство образования и науки РФ
Государственное образовательное учреждение высшего профессионального образования
«Ижевский
государственный технический
Кафедра «Мехатронные системы»
Лабораторная работа №2
Дисциплина «Информатика»
Тема: «Работа с текстовыми файлами в С++»
Выполнил:
студент группы 4-05-3
Проверил:
преподаватель
Ижевск 2011
Содержание
Задание 3
Заключение 8
Список литературы 8
Задание
Разработать алгоритм и программу поиска объектов в файле, и выполнение операций над ними в соответствии с индивидуальным заданием. Результат сохранить в другом файле.
Вариант индивидуального задания: А9В2 (копировать трехзначные числа).
Программа разработана на языке «С++».
1. Разработка алгоритма
Схема алгоритма программы поиска объектов в файле, и выполнение операций над ними в соответствии с индивидуальным заданием представлена на рисунке 1.
*Условие
1 - Посимвольно сравниваем каждый
символ из строки buf со строкой
sr, и ищем трёхзначное число (
Рисунок 1 – Схема алгоритма программы
Рисунок 1 – Продолжение
2. Разработка программы
В соответствии с алгоритмом разработана программа. Текст программы представлен на рисунке 2.
#include <iostream>
#include <stdio.h>
using namespace std;
void main ()
{
FILE *file_1;
FILE *file_2;
char* file_1_name="Vvedennaya stroka.txt";
char* file_2_name="Poluchennaya stroka.txt";
char stroka1[100];
char stroka2[100];
file_1=fopen(file_1_name,"r");
if(file_1!=0)
{
fgets(stroka1, 100, file_1); //считываем stroka1 из file_1
}
else
{
cout << "File not found!"<< endl;
return;
}
fclose(file_1);
char buf[100];
char tmp[]={' ',NULL};
int i=0,L=0;
memset(buf,0,100); //
L=strlen(stroka1); //
memset(stroka2,0,100); //
char sr[] = "1234567890";
for(i=0;i<=L;i++)
{
if((stroka1[i]>='0')&&(
{
tmp[0]=stroka1[i];
strcat(buf,tmp); //Дополняем buf копией tmp
}
else
{
if(strspn(buf,sr)==3) //Ищем трёхзначное число
{strcat(stroka2,buf);
strcat(stroka2," ");}
memset(buf,0,100); //
}
}
file_2 = fopen(file_2_name,"w");
fputs(stroka2,file_2); //
fclose(file_2);
system("pause");
}
Рисунок 2 – Текст программы
3. Вычислительный эксперимент
Пример работы программы представлен на рисунках 3, 4, 5.
Вычислительный эксперимент №1
Рисунок 3 – Результат вычислительного эксперимента №1
Вычислительный эксперимент №2
Рисунок 4 – Результат вычислительного эксперимента №2
Вычислительный эксперимент №3
Рисунок 5 – Результат вычислительного эксперимента №3
Заключение
В ходе данной лабораторной работы были приобретены навыки по работе с файлами и изучены соответствующие функции. Разработанная программа работает правильно, что подтверждается результатами вычислительных экспериментов.
Список литературы
1. Герберт Шилдт: C++: руководство для начинающих. Пер с англ. – М. : “Вильямс”, 2005. – 672с.
2. Алексеев Е.Р.: MS Visual C++ и Turbo C++ Explorer – М. : “НТ Пресс”, 2007. – 352с.