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

               }

       }

}

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

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


 

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

26836. Твердое и мягкое небо домашних животных 9.05 KB
  Каудальный свободный конец мягкого неба принято называть небной дугой. Отверстие между небной дужкой свободным краем небной занавески и корнем языка называется зевом fauces. Латеральные края мягкого неба располагаются позади последнего коренного зуба фиксируются на небной и крыловидной костях и следуя в виде складки слизистой оболочки к корню языка образуют небноязычную дугу arcus glossopalatiims. palatines располагается в толще мягкого неба от хоанного края небных костей до свободного края небной дужки.
26837. Язык домашних животных.Язык — lingua 3.44 KB
  Язык lingua На нем различают: а корень radixlinguae б тело corpuslinguae в верхушку языка apexlinguaeЕстьуздечки языка frenulumlinguae.Сосочки: Нитевидные сосочки papillaefiliformes покрывают всю дорсальную поверхность тела и кончика языка. Конические сосочки papillaecorneae располагаются на корне языка. papillaefungiformes выступают среди нитевидных сосочков на' спинке кончике и краях языка.
26838. Зубы лошади и собаки 1.51 KB
  Зубы лошади и собаки. У собак зубы короткокоронковые. Молочные зубы меньше постоянных. Самые крупные секущие зубы sectorius.
26839. Зубы крупного рогатого скота и свиньи 1.73 KB
  молочные и постоянные форма конические. Постоянные зубы у самок не крупные. Постоянные зубы включают 4 премоляра и 3 моляра. Формула молочные 3130 3130 постоянные 3143 3143 КРСна нижней 8 резцов.
26840. Однокамерный желудок домашних животных 5.87 KB
  Однокамерный желудок домашних животных. Желудок ventriculus На левом участке желудка находится кардиальное отверстие ostiumcardiacum а на правом выход пилорическое отверстие ostiumpyloricum Передняя поверхность желудка faciesparietalis прилежит к печени и диафрагме а задняя висцеральная faciesvisceralis к кишеч' ным петлям. hepatog^stricum соединяющей желудок с печенью. У собаки желудок кишечного типа сравнительно большой.
26841. Многокамерный желудок жвачных 7.28 KB
  Рубец — rumen. В рубце различают два мешка [дорсальный — saccusdorsalis (5) и вентральный — saccusventral). Со стороны слизистой оболочки указанным желобам соответствуют складки — pilalongitudinalisdextraetsinistra, pilacranialisetcaudalis, которые обрамляют внутрирубцовое отверстие
26842. Анатомо-физиологические особенности строения и пищеварения молодняка жвачных 2.42 KB
  Во время питья молока и воды или акта сосания сокращаются мышцы губ пищеводного желоба; губы смыкаются и образуют трубку составляющую как бы продолжение пищевода. Смыкание губ пищеводного желоба это рефлекторный акт возникающий при раздражении рецепторов языка и глотки в момент глотания. Емкость пищеводного желоба очень мала поэтому молоко может проходить по нему в сычуг только небольшими порциями. С ростом телят значение пищеводного желоба уменьшается губы его грубеют и смыкаются не полностью.
26843. Тонкий отдел кишечника домашних животных 8.3 KB
  тонкая кишка intestinumtenue простирается от пилоруса желудка до слепой кишки. Двенадцатиперстная кишка duodenum У всех животных она находится в правом подреберье. Тощая кишка jejunum висит на длинной брыжейке и образует множество кишечных петель ansaeintestinales. Тощая кишка без четкой границы переходит в подвздошную кишку.
26844. Печень домашних животных 7.04 KB
  Печень домашних животных. Печень hepar сложнотрубчагого строения через нее протекает вся кровь из желудка кишечника и селезенки по мощной воротной вене v. ПеченЬ по острому краю меяедолевыми вырезками incisurainterlobularis разграничивается на доли. Основная сагиттальная срединная вырезка делит печень на правую и левую доли lobushepatisdexteretsinister.