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

               }

       }

}

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

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


 

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

23628. Как я изучаю языки 706.5 KB
  Работая с этими языками я перевожу с одного на другой в любом сочетании и в перевод включаюсь мгновенно. Прежде чем приступить к работе связанной с применением итальянского испанского японского китайского или польского языка я чтобы освежить знания обычно трачу полдня просматривая свои записи. С остальными шестью языками я работаю только как переводчик художественной и специальной литературы то есть имею здесь лишь пассивную практику.
23629. СКОЛЬКО НА ПЛАНЕТЕ ЯЗЫКОВ 808 KB
  Сканировал и проверил Илья Франк СКОЛЬКО НА ПЛАНЕТЕ ЯЗЫКОВ На скольких языках говорят люди населяющие планету Ответить на этот вопрос казалось бы не так уж трудно. Но почему тогда разные ученые называют различное число языков планеты: одни говорят о 20 тысячах другие о 10 тысячах третьи о 5 тысячах а некоторые лингвисты полагают что население нашей планеты изъясняется всегонавсего на 2 тысячах языках. Но можно ли провести границу при исчислении количества языков между языком и его диалектом Мы знаем что на Юге России говорят не...
23630. ЯЗЫКОВОЕ РОДСТВО СЛАВЯНСКИХ НАРОДОВ 346 KB
  литовский белорус. белорусский нем. старославянский древнепрус. древнепрусский укр.
23631. Философия языка А.Ф.Лосева: типологический лик, генетические истоки, основные идеи и подходы 58 KB
  если слово не действенно и имя не реально. И вот рассмотреть его как имя я и дерзаю. имя. Имя откровение личности.
23632. Теория языка вчера и сегодня 2.61 MB
  Теория языка вчера и сегодня Глава I. Модель языка как органона а формы существования конкретных языковых явлений 3. Знаковая природа языка в модель структуры языка 4. Система sf языкового типа d понятие языка и его признаки Глава II.
23633. Закон «Об обеспечении единства измерений». Государственная система обеспечения единства измерений в стране 19.86 KB
  Государственная система обеспечения единства измерений (ГСИ) - государственное управление субъектами, нормами, средствами и видами деятельности по обеспечению заданного уровня единства измерений в стране...
23634. МОРФОНОЛОГИЯ В ОПИСАНИИ ЯЗЫКОВ 433.5 KB
  Таково например противопоставление классов сильных и слабых глаголов в германских языках. например противопоставление сильных и слабых глаголов в германских языках противопоставление процессов словообразования происходящих с исконными и неисконными элементами лексики в современном английском языке разграничение первичных и вторичных основ типа другдружитьдрузья в русском языке и т. Из пяти русских глаголов на оть только один молоть маркирован морфонологически ср. Причина чередования лежит по нашему мнению в предотвращении...
23635. ЛАОКООН, ИЛИ О ГРАНИЦАХ ЖИВОПИСИ И ПОЭЗИИ 676.5 KB
  Поглощенные этой мыслью они самоуверенным тоном произносят самые поверхностные приговоры считая главными недостатками в произведениях художников и поэтов отклонения друг от друга этих двух родов искусства и большую склонность 386 поэта или художника к тому или другому роду искусства в зависимости от собственного вкуса. Как сильны эти выражения гнева скорби и отчаяния если даже поэтическое выражение их заставляло содрогаться театр Третье действие этой трагедии находят вообще несравненно более кратким чем остальные. Легко раненная Венера...