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

               }

       }

}

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

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


 

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

8618. Міжнародне економічне право. Конспект лекцій 935.5 KB
  Конспект лекцій з дисципліни Міжнародне економічне право для студентів освітньо-кваліфікаційного рівня магістр напряму підготовки 8.03040101 Правознавство / Укладач: Саєнко Б.Є. - Донецьк: ДонДУУ, 2011 Містить тематичний план, плани семінар...
8619. Конспект лекцій з менеджменту 608.5 KB
  Процеси глобалізації у світовій економіці, поглиблення поділу праці між країнами, формування сучасних організацій (транснаціональних корпорацій, холдингових компаній, промислово...
8620. Что такое философия 93.5 KB
  Что такое философия? Вопросы: Является ли философия системой знаний? Почему? Ответ обоснуйте. Какие определения философии даёт автор статьи? В чём отличие подлинного вопроса от неподлинного? Перечислите характерные черты акта...
8621. Философия и искусство, философия и наука, философия и религия: общие и отличительные черты 133 KB
  Философия и искусство, философия и наука, философия и религия: общие и отличительные черты Вопросы: 1. Почему вопрос о соотношении философии и религии С.Франк называет центральным вопросом человеческого жизнепонимания? Чем обусловлена его актуальнос...
8622. Особенности античной философии. Философы Милетской школы: Фалес, Анаксимандр, Анаксимен 123.5 KB
  Особенности античной философии. Философы Милетской школы: Фалес, Анаксимандр, Анаксимен Вопросы: 1. Является ли ранняя греческая мысль наукой? Ответ обоснуйте. 2. Является ли ранняя греческая мысль религией? Ответ обоснуйте. 3. Какие три идеи скрыва...
8623. Философия Парменида и Зенона 194 KB
  Философия Парменида и Зенона ПАРМЕНИД (540-470 до н.э.) Парменид, ученик Ксенофана и пифагорейца Аминия, был жителем полиса Элея, для которого разработал законы. Его годы творческого расцвета пришлись на 69-ю олимпиаду.Учение Парменида занимае...
8624. Философия Гераклита и Демокрита 33 KB
  Философия Гераклита и Демокрита Афоризмы Гераклита: Эту-вот Речь (Логос) сущую люди не понимают и прежде, чем выслушать её, и выслушав однажды. Ибо, хотя все люди сталкиваются напрямую с этой-вот Речью (Логосом), они подобны незнающим её, даро...
8625. Сократ и софисты 113 KB
  Сократ и софисты Вопросы: 1. Какие определения благочестия даёт Евтифрон. Как опровергает эти определения Сократ? 3. Какова цель Сократовских бесед, если ответа в конце каждого диалога не даётся? 3. Можно ли вообще дать определение благочестию? Е...
8626. Философия Аристотеля. Аристотель кается перед Платоном 92.5 KB
  Философия Аристотеля Вопросы: 1. Что Аристотель называет началом, которым «должен владеть всякий, кто постигает какую-либо вещь»? При помощи какого метода строит свою философию Аристотель? 2. В чём состоит критика Аристотелем Платоновской теории иде...