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

               }

       }

}

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

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


 

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

58310. Ознайомлення з дією віднімання. Знак «–». Складання прикладів на віднімання за числовим відрізком та предметними малюнками. Написання цифр 28 KB
  Мета: на основі розгляду малюнків і практичних дій з предметами розкрити зміст дії віднімання взаємозв’язок дій додавання й віднімання; продовжувати роботу над формуванням в учнів навичок складання й розв’язання прикладів на додавання...
58311. Дія віднімання. Складання, запис і розв’язання прикладів на додавання й віднімання. Написання цифр 26.5 KB
  Мета: продовжувати роботу над формуванням в учнів вміння розрізняти дії віднімання та додавання; дати поняття про те що при відніманні результат обов’язково зменшується а при додаванні збільшується; вдосконалювати навички усної лічби...
58312. Зв’язок додавання й віднімання. Складання прикладів на віднімання з прикладів на додавання. Вимірювання довжини відрізків 29.5 KB
  Мета: формувати в учнів уміння складати приклади на додавання з прикладів на віднімання; вдосконалювати навички усної лічби розвивати логічне мислення учнів спостережливість увагу. Обладнання: предметні малюнки до теми таблиці прикладів картки доміно картки цифр.
58317. Складання таблиць додавання й віднімання числа 4. Вправи на засвоєння таблиць додавання й віднімання числа 4. Побудова відрізка заданої довжини 29.5 KB
  Мета: скласти таблицю додавання й віднімання 4; вправляти учнів у розв’язанні прикладів на додавання й віднімання чисел 3 і 4; вдосконалювати навички усної лічби; розвивати мислення.