Здесь располагается содержимое class "clearfloat" id "рамка"

Курс кружка "Программист"

У р о к и
  1. Этапы решения задач на компьютере. Разработка программы.
  2. *КОНТРОЛЬ*
  3. Понятие алгоритма. Свойства алгоритма.
  4. *КОНТРОЛЬ*
  5. Формы представления алгоритмов. Графический способ записи алгоритмов. Школьный алгоритмический язык.
  6. *КОНТРОЛЬ*
  7. Базовые алгоритмические структуры: базовая структура следование.
  8. *КОНТРОЛЬ*
  9. Базовые алгоритмические структуры: базовая структура ветвление.
  10. *КОНТРОЛЬ*
  11. Базовые алгоритмические структуры: базовая структура ЦИКЛ.
  12. *КОНТРОЛЬ*
  13. Эволюция языков программирования. Классификация языков программирования.
  14. *КОНТРОЛЬ*
  15. Язык Си++. Эволюция языка и его преимущества.
  16. *КОНТРОЛЬ*
  17. Синтаксис языка Си++.
  18. *КОНТРОЛЬ*
  19. Константы и переменные в С++. Преобразование типов данных.
  20. *КОНТРОЛЬ*
  21. Операторы используемые в С++.
  22. *КОНТРОЛЬ*
  23. Некоторые визуальные компоненты С++Builder.
  24. *КОНТРОЛЬ*
    ***Лабораторная работа № 1***
    Создание простого приложения в С++Builder.
  25. Основные константы и математические функции. Команда форматированного вывода строки.
  26. *КОНТРОЛЬ*
    ***Лабораторная работа № 2***
    Создание программы вычисления значения функции.
  27. Условные операторы выбора if.
  28. *КОНТРОЛЬ*
    ***Лабораторная работа № 3***
    Создание программы с разветвленной структурой.
  29. Условный оператор множественного выбора switch. Безусловный переход.
  30. *КОНТРОЛЬ*
    ***Лабораторная работа № 4***
    Создание программы со структурой ВЫБОР.
  31. Оператор цикла for (цикл со счетчиком).
  32. *КОНТРОЛЬ*
    ***Лабораторная работа № 5***
    Создание программы c циклом ДЛЯ.
  33. Операторы цикла с условием. Прерывание цикла.
  34. *КОНТРОЛЬ*
    ***Лабораторная работа № 6***
    Создание программы c циклом ПОКА.
  35. Одномерные массивы. Обработка строк.
  36. *КОНТРОЛЬ*
    ***Лабораторная работа № 7***
    Создание программы обработки строк.
  37. Многомерные массивы.
  38. *КОНТРОЛЬ*
    ***Лабораторная работа № 8***
    Создание программы обработки двумерного массива.
  39. Указатели и ссылки.
  40. *КОНТРОЛЬ*
  41. Функции: объявление, описание и использование.
  42. *КОНТРОЛЬ*
    ***Лабораторная работа № 9***
    Создание и использование функций в C++.
  43. Файлы и потоки. Файловый ввод/вывод с помощью компонентов.
  44. *КОНТРОЛЬ*
    ***Лабораторная работа № 10***
    Работа с файлами с помощью компонентов С++Builder.
  45. Файловый вывод/вывод в двоичном режиме.
  46. *КОНТРОЛЬ*
    ***Лабораторная работа № 11***
    Запись и чтение блоков из двоичного файла (произвольный доступ).

    ***Лабораторная работа № 12***
    Запись, дописывание и чтение потоков из файла.
Дополнения

Лабораторная работа № 12

Запись, дописывание и чтение потоков из файла.

Цель: Научится обмениваться с файлом потоками.
Задача: Создать приложение с формой, которая записывает, дописывает и читает из файла строку. Организовать функцию выхода из программы.
Порядок выполнения:

Форма 11

  1. Создать проект с формой.
  2. Задать имя формы Name=Form1
  3. Задать надпись в верхней части окна Form1->Caption= “ Добавление в файл (работа с потоками)”
  4. На форму вынести элемент главного меню, задать пункт Файл-Выход и действие Form1->Close();
  5. На форму вынести элемент Memo: Name= Memo1. Очистить окно Memo1  (Memo->Lines).
  6. На форму вынести 5 кнопок Button:  1) Name= Button1, Caption=“Добавление строки в файл”, 2) Name= Button2, Caption=“Чтение строки из файла”,  3) Name= Button3, Caption=“Прочитать весь файл”, 4) Name= Button4, Caption=“Очистить файл”, 5) Name= Button5, Caption=“Очистить окно вывода”
  7. На событие OnClick кнопки Button1 записать код:

int R=2;
char A[14]="Понедельник ";
char B[14]=" день_недели";
ofstream outfile("test2.dat",ios::app);
if (!outfile) {
ShowMessage("Файл не удается создать");
return;
                                          }
 else {
outfile <<A<<R<<B<<'\n';
           };
outfile.close();

  1. На событие OnClick кнопки Button2 записать код:

int R1=2;
char A1[14];
char B1[14];
char str [30];
ifstream infile("Test2.dat");
if(!infile)
{
ShowMessage("Файл не удается открыть");
return;
}
infile >>A1>>R1>>B1;
sprintf(str,"%s %d %s ", A1,R1,B1);
// закрытие файла
infile.close();
Memo1->Lines->Add(str);

  1. На событие OnClick кнопки Button3 записать код: Memo1->Clear();

Memo1->Lines->LoadFromFile("Test2.dat");

  1. На событие OnClick кнопки Button4 записать код: Memo1->Clear();

ofstream outfile("test2.dat");
if (!outfile) {
ShowMessage("Файл не удается создать");
return;
                                          };
outfile.close();

  1. На событие OnClick кнопки Button5 записать код: Memo1->Clear();
  2. Подключить модули <stdio.h>, <fstream.h>

Пояснения к коду программы:
Подключаемые модули:
#include <stdio.h>//подключаются функции форматированного вывода sprintf
#include <fstream.h>    //для использования функций  ofstream ifstream
На кнопку Добавление строки в файл:
int R=2;   //объявляется целочисленная переменная R=2
char A[14]="Понедельник "; /*объявляется символьный массив A с размером 14 элементов и значением  "Понедельник " */
char B[14]=" день_недели"; /*объявляется символьный массив B с размером 14 элементов и значением  " день_недели"  */
ofstream outfile("test2.dat",ios::app);   /* открывается выходной поток outfile для дозаписи в файл test2.dat  */
if (!outfile) {       //если файл не открывается
ShowMessage("Файл не удается создать");  //то выдать сообщение
return;    //и выйти из функции
                                                  }    //конец действий по то
 else {     //иначе
outfile <<A<<R<<B<<'\n';    //в файл вывести значения A, R, B и символ '\n'
                   };  //конец действий по иначе
outfile.close();  //закрыть выходной поток (закрыть файл test2.dat )
На кнопку Чтение строки из файла:
int R1;  //объявляется целочисленная переменная R1
char A1[14]; //объявляется символьный массив A1 с размером 14 элементов
char B1[14];  //объявляется символьный массив B1 с размером 14 элементов
char str [30];  //объявляется символьный массив str с размером 30 элементов
ifstream infile("Test2.dat"); // открывается входной поток infile для чтения из файла test2.dat 
if(!infile)   //если файл не открывается
{
ShowMessage("Файл не удается открыть"); то выдать сообщение
return; и выйти из функции
}
infile >>A1>>R1>>B1;  //прочитать из файла значение A1, R1, B1
sprintf(str,"%s %d %s ", A1,R1,B1);  //вывести A1,R1,B1 в str
infile.close();  // закрытие файла
Memo1->Lines->Add(str);  /* значение str вывести как новую строку  в многострочное окно редактирования Memo1 */
На кнопку Прочитать весь файл:
Memo1->Lines->LoadFromFile("Test2.dat");  /*записать содержимое файла Test2.dat в многострочное окно редактирования Memo1 */
На кнопку очистить файл:
ofstream outfile("test2.dat"); // открывается выходной поток outfile для записи в файл test2.dat
if (!outfile) {   //если файл не открывается
ShowMessage("Файл не удается создать");   //то выдать сообщение
return;   //и выйти из фукции
                                                  };
outfile.close();   //закрыть выходной поток  (закрыть файл test2.dat )
 Кнопку Очистить окно вывода:
Memo1->Clear();  //очистить многострочное окно редактирования
Главное меню:
Form1->Close();   //закрыть форму Form1 (закрыть программу)

Анимация выполнения работы:

Pr12.exe (14 MБ) Скачать