Назад | Начало урока | Вперед
Содержание

Глава 2

Год 2005

13 декабря 1994 г

Работал над 13 главой книги Либерти С++ за 21 день
Тема класс String.
В этой главе создан класс String для работы со строками (символьными
массивами).Эта программа находится по адресу
d:\ЯзыкСи\Книги по С++\ЛибертиС++за21день\chap13\4eList1312;
Сумел понять работу этого класса. Надо составить ряд программ
с использованием этого класса. С использованием кириллицы.

13 декабря 1994 г

Работал над 13 главой книги Либерти С++ за 21 день
Тема Связанный Список.
В этой главе создана программа связанного списка,
эта программа просит ввести целое число, пока не введешь 0.
После этого отображает все введенные числа на экране
в порядке возрастания значений. То есть программа
сортирует введенные числа по возрастанию значений.
Программа находится по адресу
d:\ЯзыкСи\Книги по С++\ЛибертиС++за21день\chap13\4eList1313;

Есть такая задача: изменить программу так, чтобы используя
функцию которая разбивает символьный массив на слова,
а у нас в символьном массиве будут любые целые числа,
разделенные пробелами -одно,двух,трех и тд значные
Программа которая раньше разбивала текст на слова
теперь будет разбивать и выдавать числа одно за другим.
При этом надо сделать так,чтобы эти числа попадали
в связанный список и там сортировались бы используюя
данную программу. После сортировки числа могут быть выведены
на экран или в отдельный массив или в специальный файл.
Таким образом у нас получится сначала мы имеем файл хаотично
записанных чисел,а затем файл с отсортированными числами
в порядке возрастания.
Функция которая разбивает символьный массив на слова находится
по адресу:
d:\ЯзыкСи\Школа\ПолезныеФункции\Функция01

Дополнение:
В С++ есть еще библиотечная функция,которая пословно считывает
текстовый файл.Именно эта фунция будет использована мной в
программах создания базы слов для кроссвордов.Смотри проект
Pioner03.

21 декабря 1994 г

Работал над главой 10 из Либерти.
Перегрузка функций,выбор варианта функции по третьему параметру.
Перегрузка конструкторов.Конструктор без параметров и с параметрами.
Копирующие конструкторы.Мелкое и глубокое копирование объектов.
Если есть указатели ,то надо применять глубокое копирование.
Перегрузка операторов.
Материал этой главы следует повторять неоднократно.

Сделать программу которая содержит объекты -месяцы года.
В каждом месяце -сведения о потребленной элэнергии за месяц в квт.
О стоимости за месяц,1 и 2 тариф ,и чтобы можно было вызвать любой
месяц и с ним работать.Всего допустим 12 месяцев.
Соответственно 12 объектов класса Month.В каждом объекте переменные:

Показания счетчика за месяц общее потребление
Показания счетчика за месяц потребление 1 тариф
Показания счетчика за месяц потребление 2 тариф
количество квт потребленной энергии общее
количество квт потребленной дневной энергии (1 тариф)
количество квт потребленной ночной энергии (2 тариф)
Стоимость потребленной ночной энергии (2 тариф)
Стоимость потребленной дневной энергии (1 тариф)
Стоимость потребленной энергии без 1 и 2 тарифа
Стоимость потребленной энергии общая

Доделать эту программу используя классы.

2 января

С++ Builder слушал материал с нового диска.Начал изучать первое
приложение -текстовый редактор.
Есть форма.На форме расположены компоненты из палитры компонентов,
например главное меню ,окно Memo для ввода строк текста.
Кнопки и др компоненты.Есть инспектор свойств и событий.Каждый компонент
обладает набором готовых свойств к этим свойствам можно привязать
определенные события.До готового приложения еще далеко.

3 января

Повторял материал главы 12 "Наследование"

5 января

По пособию с диска создал приложение "Текстовый редактор"
Это приложение может открывать файл с разными расширениями типа .cpp,
.txt, .h и др,сохранять этот файл на диске.Можно вводить текст с клавиатуры.

7 янв.

На сегодня не решены задачи:

1.Денис создал приложение в котором функция GetWord() разбивает
инициализированный программно одномерный символьный массив на слова,
каждое слово выводит с отдельной строки в компоненте ListBox приложения
на форме.Надо добавить в это приложение функцию,которая сохраняет
это в файле.Эту функцию можно осуществлять через главное меню File->Save,
или сделать отдельную кнопку "Save".

2.У меня есть программа в стиле Dos которая тоже разбивает текст на слова.
Та же что и в предыдущей задаче.Сделать при помощи функции ofstream()
также вывод этой информации в файл.(задача решена!).

3.Надо подключить кириллицу в компиляторы BCB и MSVC.

4.Составить программы составления кроссвордов используя созданный
в Либерти (глава 13) рудиментарный класс String.
(Проект закрыт.Перешел на библиотечный класс string.)

5.Сделать так чтобы слова,находящиеся в текстовом файле ,например после работы
программы из задачи 2.Чтобы можно было инициализировать словами
из этого текстового файла массив символов в стиле С,и этот массив
располагался бы в куче -динамической памяти.
(Задача решена!)

Решения:

Задача 2 - решена!
Отфильтрованные слова находятся в файле!
Смотри d:\ЯзыкС\школа\символьные массивы\готовые функции\функция01\
lib0811i;lib0811k;

Компоненты Edit и Memo из закладки Standart имеют много общих свойств.
например свойство:

__property bool OEMConvert

Это свойство содержит True ,если необходимо перекодировать текст из кодировки
MS-DOS в кодировку Windows и обратно.

10 января

Вчера написал программу которая составила кроссворд из шести 7-буквенных
слов.Смотри проект Pioner01\Подгот19

Сегодня буду увеличивать базу 5-буквенных слов.Смотри BaseMassiv\Массив05
За 5 часов работы создал базу 5-буквенных слов всего 57 слов!
Не так и плохо.
Надо осваивать класс string.

11 января Продолжим опыты над классом String.

15 января

Начинаем новый проект Pioner03.Программа составляющая кроссворды
но на основе библиотечного класса string.
А потому начнем изучать сойства этого класса.

17 янв

Сегодня научился выводить из файла 7-буквенные слова,правда выводятся
и 6-буквенные со знаком пунктуации.Но это поправим.
Затем использовал программу которая нумерует строки и вижу количествл
найденных слов.
Программа даже правильно сработала с файлм .wri .Вывела из него
все 7-буквенные слова.

23 января

Создано два полезных программных модуля.

1.Программа WordSortLenght07

вылавливает 7-буквенные слова из текстового файла и помещает их
в отдельный файл.

После маленькой доработки она сможет вылавливать слова
какие в интерактивном режиме укажет пользователь.

2.Программа PoliWordCat01

убирает повторы слов из отсортированных предыдущей
программой по длине массивов слов в файле.

С помощью этих программ можно создать базы слов
для составления кроссвордов.

Можно также написать программу,которая объединяет
эти два модуля в одну программу.Результат будет такой:
из текстового файла будут выловлены все 7-буквенные
слова и помещены в отдельный файл.


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz