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

               }

       }

}

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

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


 

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

81099. Правові та економічні передумови розвитку іпотечного кредитування в Україні 94.51 KB
  Для України це питання особливо актуальне, оскільки основні засоби виробництва найближчим часом не матимуть попиту через свою непридатність. Застосування іпотеки вимагає глибокого вивчення законодавчих положень, що постійно змінюються.
81100. Оценка потребностей в персонале 42.43 KB
  Численность персонала это количество занятых на предприятии людей. Структура персонала это качественный состав работников предприятия. В существующих там подходах к определению состава и содержания задач маркетинга персонала следует выделить два основных принципа.
81101. Спортивная тренировка, ее составные части 24.65 KB
  Тренировка является важнейшей частью спортивной подготовки. Физическая подготовка это педагогический процесс направленный на воспитание физических качеств и развитие функциональных возможностей создающих благоприятные условия для совершенствования всех сторон подготовки.
81102. Прислів’я та приказки в українській та німецькій мовах 80 KB
  Протягом багатьох століть вони виявляли здатність народу відбирати й осмислювати найхарактерніші, найтиповіші сторони явищ природи, праці, побуту, родинного й суспільного життя і в результаті ставали конденсатором багатовікового життєвого досвіду, взаємин людей між собою, між класами...
81103. Питоме та чуже в термінології 53.68 KB
  Другі слова видаються органічними для англійського тексту, де їхні корінь і лексичне значення здебільшого прозорі. Але живосилом притягнуті в українську мову, вони втрачають цю органічність і набирають вигляду «стороннього тіла».
81104. Формирования мотивации в овладении иностранным языком на среднем этапе обучения 22.72 KB
  Ученик а также его родители должны иметь возможность выбора школы учителя программы обучения видов занятий форм контроля. Минимизация применения наград и наказаний за результаты обучения. 3адачи обучения должны исходить из запросов интересов и устремлений ученика.
81105. Пятая французская республика 45.8 KB
  Политическая система Франции сформировывалась на протяжении многих лет и даже веков. Франция по праву считается колыбелью республиканских идей. Великая Французская Революция 1789 г. дала толчок к революционным процессам во всем мире.
81106. Антропологический состав народов мира 27.24 KB
  Ненаучными являются расовые концепции которые утверждают что расы обладают определенными психологическими свойствами детерминирующими исторический процесс. Существует качественное отличие расы человека и расы животных.
81107. ИСКУТВЕННЫЕ АППАРАТЫ ПО ВОСТАНОВЛЕНИЮ ЗРЕНИЯ 558.12 KB
  Сетчатка состояит из слоя рецепторов и нескольких слоев других клеток рецепторы расположены на дальней от света стороне сетчатки прилегающей к глазному дну. Световоспринимающие фоторецепторы располагаются в самом наружном слое сетчатки соприкасающимся с пигментным слоем и скрыты под внутренними...