51349

Расширенная работа с файлами

Лабораторная работа

Информатика, кибернетика и программирование

Цель работы: Написать программу, осуществляющую запись массива в файл и чтение из файла в массив с помощью потоков. Рабочие данные выбрать самостоятельно.

Русский

2014-02-09

127 KB

2 чел.

Лабораторная работа 8

Расширенная работа с файлами

 Выполнил: Шуклецов М.А.

              ФРТ, гр. 2106

Цель работы: Написать программу,  осуществляющую запись массива в файл и чтение из файла в массив с помощью потоков. Рабочие данные выбрать самостоятельно.

Общий вид программы следующий: 

Здесь мы видим следующие элементы управления:

«Заполнение массива» - заполнение массива 10х10 случайными числами в интервале до 99

«Сохранение в фаил» - считывание в поток и сохранение в фаил *.txt

«Чтение из файла» - считывание из файла в поток и заполнение массива 2 из потока

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

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

       : TForm(Owner)

{

}

TStringList *fil = new TStringList();  //инициализация потока

int a[10][10];    //массив 1

int b[10][10];    //массив 2(можно и без него)

AnsiString S;    //строковая переменная

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)   //заполнение случайными числами

{   for(int x=0; x<10; x++)

 { for(int y=0; y<10; y++)

       {

        StringGrid1->Cells[x][y] = random(99);

        a[x][y]=StrToInt( StringGrid1->Cells[x][y]);

       }

 }

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{  fil = new TStringList();  //Открытие потока

for(int y=0; y<10; y++)

       {for(int x=0; x<10; x++)

               {S = IntToStr(a[x][y]);  //запоминание ячейки

                fil->Append(S);                } //добавление в конец нужной ячейки

       }

       fil->SaveToFile("Test.txt");  //Сохранение потока в файл

      fil->Free();    //закрытие потока

      S = "";    //Обнуление переменной

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{ fil = new TStringList();   //Открытие потока

fil->LoadFromFile("Test.txt");  //Загрузка потока из файла

for(int y=0; y<10; y++)

       {for(int x=0; x<10; x++)

               {

              b[x][y] =StrToInt( fil->Strings[y*10+x]);  //Заполнение массива 2

              StringGrid2->Cells[x][y] = b[x][y];  //Заполнение StringGrid2

               }

       }

}

//---------------------------------------------------------------------------

Вывод:  Мы научились использовать потоки


 

А также другие работы, которые могут Вас заинтересовать

20153. Нормативно-правовые акты об охране труда 95.5 KB
  Основные законодательные акты об охране труда. Конституция Украины как основной источник охраны труда. Кодекс законов о труде Украины. Основные положения Закона Украины Об охране труда. Подзаконные нормативно- правовые акты, регулирующие вопросы охраны труда. Локальные нормативно- правовые акты в сфере охраны труда.
20154. Проекторы 61 KB
  Применение совмещенного изображения . проектор оптикомеханический или оптикоцифровой прибор позволяющий при помощи источника света проецировать изображения объектов на поверхность расположенную вне прибора на экран. Для поддержания картинки не требуется постоянного питания – энергия расходуется только в момент изменения изображения. Оптикомеханическая система развёртки изображения и система фокусировки расположены в проекционной головке которая соединяется с источником лазерного излучения при помощи гибкого оптоволоконного кабеля.
20155. Микроскопы 111 KB
  1 освещается источником света 1 через конденсор 2 и преломившись в объективе световой поток дает нам изображение которое будет увеличенным действительным но перевернутое. Если в плоскости изображения предмета поместить экран в виде стеклянной пластины то оператор увидит через окуляр в плоскости этой пластины обратное изображение предмета которое по сравнению с изображением будет еще увеличенным но уже мнимым.ИЗО2 ОГУ22 эта головка двойного изображения которая используется для измерений расстояния между осями отверстий. Если...
20156. Классификация КИМ и область применения 74 KB
  1 Ручной трехкоординатный прибор ОУ отсчетное устройство; ЦПМ принтер Все операции связанные с измерением детали на ручном типе КИМ выполняются оператором вручную. Типичными операциями для такого типа машин являются: измерение межцентровых расстояний; определение расстояний между плоскостями; определение координат точек плавных криволинейных поверхностей и др. В настоящее время такой тип машин практически не выпускается. КИМ данного типа обеспечивают высокую точность измерения но обладают низкой производительностью поэтому не нашли...
20157. Узлы координатных перемещений и измерительные преобразователи КИМ 33.5 KB
  Трехкоординатные измерительные приборы предназначены для измерения и контроля размеров корпусных деталей блоки цилиндров корпуса насосов для контроля штампов прессформ для подготовки программ к станкам с ЧПУ. Измерительные системы координатных перемещений предназначены для отсчета перемещения подвижных узлов ТИП при измерении координат точек. Подавляющее большинство ТИП до 80 оснащено фотоэлектрическими измерительными системами имеющими растровые измерительные линейки штриховые меры.
20158. Устройства взаимодействия с измеряемой деталью КИМ 221.5 KB
  Три группы устройств: жесткие щупы; щуповые головки; оптические и проекционнооптические устройства. Щуповые головки являются одним из основных узлов и они в равной степени с измерительным преобразователем и узлами координатных перемещений участвуют в измерении координат точек и определяют точность универсальность и производительность КИМ. Щуповые головки дают возможность автоматизировать процесс измерения на КИМах. Все щуповые головки по принципу функционирования подразделяются на 2е большие группы: щуповые головки нулевыеголовки...
20159. Приборы для измерения угловых величин. Автоколлиматоры. Гоннометры. ОДГ 308 KB
  Изображение секундной и минутной шкал наблюдается с помощью окуляра 6 через полупентопризму 13 которая из мнимого изображения делает действительное. Неподвижный узел – сетка с минутной шкалой и указателем секундной шкалы. Изображение марки отразившись от зеркала 1 попадает между штрихами минутной шкалы и в процессе измерения его совмещают с ближайшим штрихом минутной шкалы. Смещение Δ измеряется по секундной шкале жестко связанной с линзой относительно указателя на минутной шкале и т.
20160. Приборы для измерения угловых величин. Уровни. Квадранты 480 KB
  Преобразователи угловых перемещений. Преобразователи угловых перемещений. непосредственное измерение углов в угловых величинах по угловым шкалам.
20161. Механические и гидростатические приборы при измерении отклонений от прямолинейности и плоскостности 1.31 MB
  Для более точной оценки просвета используют образец просвета рис. Рис.1 Рис.2 На рис.