Xreferat.com » Рефераты по информатике и программированию » Программа "текстовый редактор"

Программа "текстовый редактор"

Пояснительная записка к курсовой работе по дисциплине “Основы алгоритмизации и программирования”

Выполнил : студент гр. 96-ВВ3 Курапов А.В.

Пензенский  государственный технический университет, кафедра   “Вычислительная Техника”

Пенза 1997

Введение

С момента появления первых образцов персональных  компьютеров прошло не так уж и много времени,но сейчас без них  уже  немыслимо огромное количество областей человеческой деятельности - экономика , управление , наука , инженерное дело , издательское дело , образование , культура и т.д.

Интерес к персональным компьютерам постоянно растет,а  круг их пользователей непрерывно  расширяется.В  число  пользователей ПЭВМ вовлекаются как новички в компьютерном деле,так  и  специалисты по другим классам ЭВМ.   

Язык С++ - универсальный язык общего назначения, область приложений которого - программирование систем в самом широком смысле. Кроме этого, С++ успешно используется как во  многих  приложениях, так и в мощных операционных системах. Реализация С++  осуществлена для машин в диапазоне от самых простых персональных компьютеров  до  самых мощных суперкомпьютеров и для  всех операционных систем.

1 Постановка задачи

Задача курсовой работы  состоит в разработки на языке программирования С++ программы текстового редактора , которая должна осуществлять следующие функции:

1) Ввод исходного текста в заданный файл;

2) Вывод содержимого файла на экран;

3) Обработка файла: форматирование  текста по заданному образцу методом центрирования.

Парамерты для форматирования:

а) левый отступ;

b) количество символов в строке;

c) красная строка.

4) Поиск заданной в тексте введённой подстроки , после поиска выдать запрос : "продолжить или закончить".

5) Cохранение результатов обработки данных.

Имена фсех файлов задаются пользователем в диалоговом режиме.

2 Метод решения задачи

Анализируя постановку задачи становится ясно , что для её решения необходимо применить метод многофункционального программирования - этот метод основан на разбиении программы на отдельные функциональные модули , которые вызываются из основной программы в процессе её работы.

В основе разработки такой программы лежит низходящее программирование - т.е. сначала разрабатывается основная программа - в данном случае программа ввода текста на экран , обработки функциональных клавиш и меню , с помощью выбора пунктов которого будет в дальнейшем организовываться её работа. При выборе того или иного пункта меню или нажатии функциональной клавиши будет вызываться одна или несколько подпрограмм , но на начальном этапе разработки программы методом нисходящего программирования вместо этих подпрограмм ставяться "заглушки" - пустые подпрограммы , которые в процессе разработки будут заменяться программами , выполняющими определённую функцию.

3 Описание логического представления данных

Входными данными в программе являются:

Уже существующий текстовый файл - хранится на диске , может быть под любым именем , при загрузки имя файла запрашивается программой в диалоговом режиме , при загрузке имя файла записывается в локальную переменную типа char - fname (25 символов) , уаказатель на начало текста записывается в переменную *text , а длина текста в переменную len типа int;

Параметры текста (левый отступ , количество символов в строке) - можно изменить в процессе работы программы , начальные значения при загрузки : левый отступ=0 , количество символов=60; Данные хранятся в переменных основной программы - left , right (int).

Текст , вводимый с клавиатуры хранится в переменной text типа char , которая в конце работы может быть сохранена в файле , имя которого задаётся пользователем в диалоговом режиме , имя файла записывается в локальную переменную типа char - fname (25 символов).

Шаблон для поиска , который вводится пользователем с клавиатуры хранится в меременной типа char - mascs длинной в 40 символов

Выходными данными в программе являются:

Текст , вводимый с клавиатуры хранится в переменной text типа char , которая в сохраняется в файле , имя которого задаётся пользователем с клавиатуры в диалоговом режиме , имя файла записывается в локальную переменную типа char - fname (25 символов).

Результат поиска по шаблону - координаты курсора x,y (int) записываются как координаты первого символа найденного по шаблону слова , если слово не найденно , то x=0 , y=0.

6 Спецификация на функциональные модули

6.1 Функция output

Строка вызова: output(scrs,x,y);
Назначение: Осуществляет вывод на экран текста и строки подсказки и курсора
Функции: Вывод текста , указатель на которого передаётся в строке параметров , вывод нижней строки подсказки , вычисление координат курсора на экране и вывод курсора на экран.

Логические

переменные:

*a (char) - указатель на начало верхней строки

x,ky (int) - позиция курсора в тексте

Внутренние

переменные:

np (int) - Количество непечатаемых символов

rx (int) - Реальная координата курсора на экране

y (int) - Координата Y вывода

* ot (char) - Временный указатель

n (int) - Временная переменная , необходима для вывода строки

Вызывает функции: нет
Вызывается из: основной программы.

6.2 Функция sinput

Строка вызова:

SInput(fname,20,21,25); - Вызывается из load

SInput(fname,20,21,25); - Вызывается из save

SInput(masks,40,30,25); - Вызывается из основной программы

Назначение: Осуществляет ввод строки.
Функции: Вывод пустой строки , установка координат , вывод строки запроса, считывание строки посимвольно с клавиатуры , выход , если нажата клавиша Enter или Esc , если нажата Esc то строка не записывается.

Логические

переменные:

*s (char) - указатель на строку

lng (int) - максимальная длина

x,y - координаты ввода

Внутренние

переменные:

rs[100] (char) - Временная строка

n (int) - Счетчик

c (char) - Введённый с клавиатуры символ

Вызывает функции: нет
Вызывается из: load,save,основной программы.

6.3 Функция load

Строка вызова: load(text); - Вызывается из основной программы
Назначение: Осуществляет загрузку текста из файла.
Функции: Запрос имени файла , открытие файла с данным именем , чтение в переменную , указатель которой передаётся в строке параметров , закрытие файла.

Логические

переменные:

*p (char) - указатель на текст

Внутренние

переменные:

fname[25] (char) - Имя файла

*f (file) - указатель на файл

Вызывает функции: sinput
Вызывается из: основной программы.

6.4 Функция save

Строка вызова: save(text); - Вызывается из основной программы
Назначение: Осуществляет запись текста в файл.
Функции: Запрос имени файла , открытие файла с данным именем , запись текста , указатель которго передаётся в строке параметров , в файл , закрытие файла.

Логические

переменные:

*p (char) - указатель на текст

Внутренние

переменные:

fname[25] (char) - Имя файла

*f (file) - указатель на файл

*pr (char) - временный указатель

Вызывает функции: sinput
Вызывается из: основной программы.

6.5 Функция reset

Строка вызова: reset(text,32767); - Вызывается из основной программы
Назначение: Осуществляет уничтожение информации.
Функции: Заполнение кодом перевод строки переменной , указанной в сторке параметров , на длинну , указанную в строке параметров.

Логические

переменные:

*a (char) - указатель на текст

n (int) - количество символов в тексте

Внутренние

переменные:

m (int) - счётчик
Вызывает функции: нет
Вызывается из: основной программы.

6.6 Функция up

Строка вызова: else scrs=up(text,scrs); - Вызывается из основной программы
Назначение: Осуществляет передвижение указателя на одну строку вверх.
Функции: Возвращает указатель на строку , которая выше на одну позицию, чем исходная.

Логические

переменные:

*a (char) - указатель на текст

*b (char) - указатель на текущую строку

Внутренние

переменные:

нет
Вызывает функции: нет
Вызывается из: основной программы.

6.7 Функция down

Строка вызова: else scrs=down(text,scrs); - Вызывается из основной программы
Назначение: Осуществляет передвижение указателя на одну строку вниз.
Функции: Возвращает указатель на строку , которая ниже на одну позицию, чем исходная.

Логические

переменные:

*a (char) - указатель на текст

*b (char) - указатель на текущую строку

Внутренние

переменные:

нет
Вызывает функции: нет
Вызывается из: основной программы.

6.8 Функция menu

Строка вызова:

switch (menu(30,5," Сохранить файл     "

                         " Считать файл       "

                         " Ввод шаблона       "

                         " Параметры          "

                         " Выход из программы "

                         "x0"))

Вызывается из основной программы

Назначение: Осуществляет вывод и обработку меню.
Функции: Вывод меню на экран , опрос клавиатуры , при нажатии клавиш иправления курсором (вверх , вниз) перемещение цветового курсора по пунктам меню , выбор определённого пункта меню при нажатии клавиши с номером пункта меню , при нажатии клавиши Enter возвращается номер выбранного пункта меню , при нажатии клавиши Esc возвращается -1.

Логические

переменные:

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: