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

               }

       }

}

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

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


 

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

6312. Организационные структуры управления (ОСУ) 510.5 KB
  Организационные структуры управления (ОСУ) ОСУ - понятие, структура и элементы, принципы построения Бюрократические структуры управления Адаптивные структуры управления Под организационной структурой управления необходимо пони...
6313. Комплексирование в вычислительных системах 66 KB
  Комплексирование в вычислительных системах Для построения вычислительных систем необходимо, чтобы элементы или модули, комплексируемые в систему, были совместимы. Понятие совместимости имеет три аспекта: аппаратурный (технический), программный...
6314. Программная реализация средствами ОС Windows 130.5 KB
  Введение Операции с файлами - это то, что рано или поздно приходится делать практически во всех программах, и всегда это вызывает массу проблем. Должно ли приложение просто открыть файл, считать и закрыть его, или открыть, считать фрагмент в бу...
6315. Экономическая оценка эффективности природоохранных мероприятий 655 KB
  Экономическая оценка эффективности природоохранных мероприятий При экономическом обосновании природоохранных мероприятий экономические результаты сопоставляются с затратами на их осуществление. При необходимости, учитывается фактор времени. Поэтому ...
6316. Основы генетики. Основные положения хромосомной теории наследования 181.5 KB
  Основы генетики. Генетика - наука о закономерностях наследственности и изменчивости. Основоположник науки - Грегор Мендель (1822-1884), труд «Опыты над растительными гибридами» (1865 г.). Официальная дата рождения генетики - 1900 г.,...
6317. Основные положения о праве 144.67 KB
  Основные положения о праве. Происхождение, понятие и признаки права. В глубокой древности наиболее сложившейся идеологической силой выступала религия. Особую роль она сыграла в возникновении права у народов, где в производящем хозяйстве домини...
6318. Программное обеспечение персонального компьютера 116.5 KB
  Программное обеспечение персонального компьютера. План. Системное программное обеспечение. базовое ПО операционные системы служебные программы Прикладное программное обеспечение. Инструментальное программное обесп...
6319. Зубчатые передачи 672.36 KB
  Основные понятия о зубчатых передачах Общие сведения В зубчатой передаче движение передается с помощью зацепления пары зубчатых колес (рис. 1, а - в). Меньшее зубчатое колесо принято называть шестерней, большее - колесом....
6320. Мутационная изменчивость 52 KB
  Мутационная изменчивость 1. Наследственная и ненаследственная изменчивость. 2. Классификация мутаций. 3. Геномные мутации. 4. Хромосомные мутации. 1. Наследственная и ненаследственная изменчивость Различают наследственную и ненаследственную изменчив...