Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Курсовая работа: Написание программы для удаления элементов и очистки внешних таблиц

Название: Написание программы для удаления элементов и очистки внешних таблиц
Раздел: Рефераты по информатике
Тип: курсовая работа Добавлен 21:57:26 19 октября 2010 Похожие работы
Просмотров: 16 Комментариев: 22 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно     Скачать

РЕФЕРАТ

Пояснительная записка: 43c, 6 рис, 28 табл, 3 источника, 4 приложения.

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

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


СОДЕРЖАНИЕ

Введение

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

1.1 Цель разработки

1.2 Функциональные требования

2. Методы и алгоритмы

3 Выбор языка программирования

4 Описание программного продукта

4.1 Входные данные

4.2 Выходные данные

4.3 Схема информационных потоков

4.4 Метод решения

4.5 Функционально – логическая схема

5 Комплект поставки и инсталляция

5.1 Комплект поставки

5.2 Порядок инсталляции

5.3 Запуск программы

6 Тестирование программного продукта

Выводы

Перечень использованных источников

Приложение А Техническое задание

Приложение Б Руководство пользователя

Приложение В Экранные формы

Приложение Г Листинг программы


ВВЕДЕНИЕ

Внешние таблицы – таблицы, хранящиеся в файлах. Как правило, такие файлы велики, и для операций над ними, в частности удаление или добавление элементов, требуется большой объем оперативной памяти, поэтому для экономии памяти используются дополнительные или временные файлы, которые после произведения операций над ними переименовываются или удаляются.

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


1 ПОСТАНОВКА ЗАДАЧИ

1.1 Цель разработки

Цель курсового проекта – написание программы, которая загружала бы из файлов таблицы различной структуры и объема, имела понятный графический интерфейс, определяла тип полей (строковый или символьный), а также выводила данную таблицу на экран. Если файл велик, должен быть предусмотрен вертикальный скроллинг со сдвигом по одному элементу. Программный продукт предусматривает выполнение операций удаления и очистки внешних таблиц. Также должна быть разработана система помощи пользователю (информация о внешних таблицах, об использовании программы, а также краткие сведения об авторе).

1.2 Функциональные требования

Исходные данные хранятся в файлах. Это очень удобно. Таким способом можно загружать нужную информацию частично, что и требуется осуществить в программе. Очень удобно менять информацию, хранящуюся в файлах.


2 МЕТОДЫ И АЛГОРИТМЫ

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

Исходная таблица

N

п/п

(Hz)

E1

(B)

E2

(B)

L1

(mG)

1 100 30j 40 100
2 50 50j 36j 200
3 150 80 47j 50
4 100 40j 20j 220
5 50 60 30j 550
6 50 100j 24 150
7 100 50j 50 150
8 75 60 30j 270
9 100 30 80j 200
10 50 90j 60 400
11 100 100 75j 150
12 75 60j 40 120
13 100 90 75j 300
14 50 50 40j 120
15 50 70j 45 150

Вначале считываем заголовок таблицы и без изменений заносим в дополнительный файл.


Исходная таблица Дополнительная таблица

N

п/п

(Hz)

E1

(B)

E2

(B)

L1

(mG)

N

п/п

(Hz)

E1

(B)

E2

(B)

L1

(mG)

Затем начинаем считывать по одному элементу из исходной таблицы, и если условие выполняется (считывается с первого по пятый и с тринадцатого по последний элементы), заносим в дополнительную таблицу.

1 100 30j 40 100
1 100 30j 40 100
2 50 50j 36j 200
2 50 50j 36j 200
3 150 80 47j 50
3 150 80 47j 50
4 100 40j 20j 220
4 100 40j 20j 220

Пропускаем элементы до тринадцатого, затем аналогично считываем по одному, и заносим в дополнительный файл

13 100 90 75j 300
5 100 90 75j 300
14 50 50 40j 120
6 50 50 40j 120
15 50 70j 45 150
7 50 70j 45 150
Дополнительная таблица в дополнительном файле

N

п/п

(Hz)

E1

(B)

E2

(B)

L1

(mG)

1 100 30j 40 100
2 50 50j 36j 200
3 150 80 47j 50
4 100 40j 20j 220
5 100 90 75j 300
6 50 50 40j 120
7 50 70j 45 150

Теперь удаляем исходный файл, запомнив при этом его название, и переименовываем дополнительный.

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

Исходная таблица

Вид таблицы Плотность заполнения
упорядоченный 100 % 80 1 12
неупорядоченный 100 % 40 1 15
Хеш-таблица 50 % 400 1.2 20

Введем ключ “1”

Исходная таблица Дополнительная таблица

Вид Плотность зап.
Вид Плотность зап

Считываем 1-й элемент


упорядоченный 100 % 80 1 12

Элемент не заносится в дополнительную таблицу


Считываем 2-й элемент


неупорядоченный 100 % 40 1 15

Элемент не заносится в дополнительную таблицу

Считываем 3-й элемент

1
1
1

Хеш-таблица 50 % 400 1.2 20

Элемент заносится в дополнительную таблицу

Дополнительная таблица

Вид таблицы Плотность заполнения
Хеш-таблица 50 % 400 1.2 20

Теперь удаляем исходный файл, запомнив при этом его название, и переименовываем дополнительный.


3 ВЫБОР ЯЗЫКА ПРОГРАММИРОВАНИЯ

Процесс работы компьютера состоит в выполнении программы, набора вполне определённых команд в вполне определённом порядке. Машинный код команды, состоящий из нулей и единиц, указывает, какое именно действие должен выполнить процессор. Т.е. чтобы создать программу для компьютера, необходимо записать последовательность нулей и единиц. Однако программирование в машинных кодах – занятие утомительное и малопродуктивное. Для упрощения процесса программирования были созданы специальные средства – языки программирования. Они стали появляться с 50-х годов и не перестают появляться и сегодня. Огромное количество языков говорит об ещё большем числе задач, которые приходится решать с помощью компьютера.

Вообще, одну и ту же задачу обычно можно решить с использованием разных языков. Но применение неподходящего языка программирования может заметно усложнить процесс программирования или ухудшить результат работы.

Для реализации данного программного продукта был выбран язык C и компилятор Borland C++ 3.1.

Это решение было принято по следующим причинам:

– программный продукт слишком велик для того, чтобы быть написанным на языке низкого уровня, таком как ассемблер;

– система требует высокого быстродействия и доступа к низкоуровневому оборудованию;

– язык программирования должен содержать библиотеку для работы в графическом режиме;

– язык должен иметь средства работы со строками;

– язык должен содержать средства работы с файлами;

– необходимы средства динамического распределения памяти;

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

Язык C отвечает всем этим требованиям. Хоть он и не является языком низкого уровня, скорость программ написанных на C довольно высока в сравнении с другими высокоуровневыми языками. Тем не менее, он обладает всеми чертами языков высокого уровня: обладает мощными управляющими структурами, является типизированным языком, позволяет структурировать программу. Библиотеки языка C предоставляют средства работы в графическом режиме, множество функций работы со строками и файлами. В C реализована система динамического распределения памяти. Он позволяет обращаться к любым адресам оперативной памяти, к портам ввода вывода, прерываниям операционной системы. Есть возможность делать ассемблерные вставки. Так что наиболее критичные участки программы могут быть написаны на языке ассемблера. Наконец, в состав системы BorlandC++ 3.1 входит мощный отладчик, позволяющий расставлять в тексте программы контрольные точки, исполнять программу в пошаговом режиме, просматривать значения переменных, регистров и областей оперативной памяти по ходу исполнения программы.

Кроме того, программы, написанные на C, отличаются компактностью как исходного, так и машинного кода. Они легко переносятся на другие операционные системы.

Язык C обладает также и некоторыми недостатками: некорректное использование указателей может привести к серьёзным ошибкам в программе; компактность языка в сочетании с большим количеством операторов даёт возможность создавать код, понимание которого чрезвычайно затруднительно. Эти недостатки связаны с тем, что C ориентирован на опытных программистов, которые хорошо знают, что они делают.

Таким образом, наиболее удобным для реализации данного программного продукта является язык программирования C.


4 ОПИСАНИЕ ФУНКЦИОНИРОВАНИЯ ПРОГРАММНОГО ПРОДУКТА

4.1 Входные данные

Входными данными является любой файл, содержащий таблицу любой структуры (тип полей – символьный или строковый).

4.2 Выходные данные

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

4.3 Схема информационных потоков

Существует главная программа. В неё поступают Входные данные, вводимые пользователем с клавиатуры (имя файла данных, ключ), а также из внешних текстовых файлов (теория по ВТ, исходные данные). В ответ на вводимые данные главная программа выводит на экран монитора Выходные данные – теоретический материал, справку, таблицы с данными. Схематически работа программы изображена на рисунке 1.6.




Рисунок 4.3 Схема информационных потоков.

4.4 Метод решения

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

Удаление элементов происходит по такой схеме: считываем в цикле по одному элементы из заданного файла, проверяем, входит ли этот элемент в заданный диапазон: если нет, то записываем в цикле по одному элементы во временный файл, если да, то пропускаем. Затем удаляем начальный файл и переименовываем временный.


4.5 Функционально – логическая схема


Рисунок 4.5 – функционально – логическая схема

Работа программы начинается с загрузки главного меню программы. Он состоит из строки меню и двух окон вывода. Строка «Файл» состоит из трех пунктов. Пользователь выбирает нужный ему пункт. Назначение пунктов строки следующее:

1) новый – создание нового файла с таблицей;

2) загрузка – загрузка из внешней памяти уже существующего файла;

3) удаление – удаление существующего файла из памяти ЭВМ;

Меню «Удаление» состоит из трех пунктов:

1) по номеру – удаление из загруженной таблицы записи под соответствующим номером (значение задает пользователь).

Просмотр меню «Справка» приведет к выводу справочной информации по эксплуатации программы на экран.

Меню «Выход» выполняет освобождение используемой памяти, закрытие используемых файлов и завершение работы алгоритма.

Схематично работа программы представлена на рисунке 4.5.


5 КОМПЛЕКТ ПОСТАВКИ И ИНСТАЛЛЯЦИИ

5.1 Комплект поставки

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

kursovoi.exe– файл запускает программу;

start.bat- файл запускает русификатор, а потом программу;

1.in, 2.in, 3.in – файлы-примеры, содержащие некоторые таблицы;

help.dat – файл содержит текст справки;

keyrus.com – русификатор;

egavga.bgi– файл содержит драйвер видеоадаптера;

5.2 Порядок инсталляции

Процедура инсталляции очень проста:

1) на жестком диске необходимо создать новую папку;

2) в эту папку скопировать файлы, входящие в комплект поставки.

5.3 Запуск программы

Загружается файл start.bat . Программа запущена. В случае отсутствия каких-либо файлов не гарантируется правильность работы программы.


6 ТЕСТИРОВАНИЕ ПРОГРАММНОГО ПРОДУКТА

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

На тестовом примере покажем действие программы.

Загружаем файл:

После выбора пункта меню “Удаление”→”По интервалу” и введя от 4-х до 13-ти, получим:

После загрузки того же файла и выбрав: “Удаление”→”По ключу”, введя ключ “250”, получим:

n Индекс Продукт Стоимость
1 30/121 Печенье 210
2 15/124 Конфеты 150
3 12/212 Зефир 140
6 10/376 Картофель 480
7 35/564 Арбузы 700
10 20/341 Морковь 800
11 10/343 Лук 750
12 15/123 Орехи 210
13 30/121 Айва 450
14 15/124 Капуста 150

Тестируя данный программный продукт можно определить его плюсы и минусы. К положительным качествам можно отнести простой и понятный интерфейс, внизу экрана на нижней кнопке находится подсказка к использованию, все, что нужно узнать по эксплуатации программы находится в пункте меню “Помощь”. В “логической” части программы главными плюсами является возможность редактирования файлов с таблицами без применения самой программы, также создание новых файлов с различными структурами и конструкциями. Типы полей загружаемой таблицы могут быть либо символьными, либо числовыми, вне зависимости от их порядка или конфигурации (т.е. рассмотрены различные варианты представления структуры таблицы). Рассмотрено также удаление элементов по заданному значению ключа, по интервалу. Но в программе имеются и свои недостатки: удаление элементов по сложному значению ключа (из-за возможных сложных конструкций), добавление элементов в файл (по той же причине), 16-ти-цветный интерфейс, также отсутствие горячих клавиш.


ВЫВОДЫ

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

К недостаткам можно отнести отсутствие возможности управлять мышью, отсутствие горячих клавиш.

К перспективам усовершенствования можно отнести подключение манипулятора “мышь”, создание более красочного интерфейса, возможности выполнения еще некоторых операций с внешними таблицами (добавление элементов и т. д.).


ПЕРЕЧЕНЬ ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. В. В. Подбельский, С. С. Фомин “Программирование на языке Си”,2-е издание – Москва: “Финансы и статистика”, 2002г. - 600с.

2. Герберт “Шилдт Полный справочник по С”, 4-е издание – К.: Вильямс, 2002 - 700с.

3. Джефф Элджер “C++” – Санкт-Петербург: “Библиотека программиста”, 2000г. – 320с.


Приложение А

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

А.1 Общие сведения

Полное наименование проектируемой системы: “Удаление элементов и очистка внешних таблиц”. Систему проектирует студент 2-го курса Донецкого государственного института искусственного интеллекта (ДонГИИИ), факультета современных компьютерных информационных технологий Климов В. А.

А.2 Основания для разработки

Основанием для разработки является задание к курсовому проектированию по курсу “Структуры и организация данных в ЭВМ”, выданное кафедрой программного обеспечения интеллектуальных систем, факультета СКИТ.

А.3 Цель разработки

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

А.4 Требования к ПП

А.4.1 Требования к ПП в целом

К ПП предъявляются следующие требования:

- наличие удобного интерфейса в виде меню с системой подсказок, позволяющих пользователю управлять программой;

- наличие контроля вводимых данных (проверка на существование файла);

- вывод на экран результата выполнения операций над файлом.

А.4.2 Требования к задачам и функциям, выполняемым ПП

Программный продукт должен реализовывать следующие функции:

- считывание информации из файла;

- удаление элементов внешних таблиц;

- очистка файлов;

- сохранение результатов в файл;

- вывод текстовой информации о внешних таблицах.

А.4.3 Требования к техническому обеспечению

Программный продукт должен нормально функционировать на ПК со следующими характеристиками:

- процессор с частотой не ниже 66 MHz;

- 4MB памяти;

- VGA- монитор с поддержкой расширения 640x480.

А.4.4 Организационные требования

Программный продукт должен:

- быть разработан на языке С;

- функционировать под ОС MS-DOS 5.0 и выше;

- быть снабжённым пояснительной запиской объёмом не менее 30 страниц и руководством пользователя.

Этапы разработки и плановые сроки выполнения указаны в таблице А.1

Таблица A.1 – График выполнения курсового проекта

Этапы работы Срок выполнения (недели)
1 Постановка задачи: формулировка, исходные данные, результаты, определение требований к программному продукту. 1
1. Составление технического задания 1-2
2. Техническое проектирование. Изучение метода решения задачи. 2-3
3.

Рабочее проектирование.

Определение структур входных и выходных данных. Оценки структур данных и ал­горитмов.

4
4. Написание алгоритмов удаления элементов по различных значениях ключа. 5
5. Написание алгоритмов очистки внешних таблиц 6-8
6. Создание файлов помощи по алгоритму и по программе 9
7. Отладка и тестирование. 10
8. Написание пояснительной записки 10-14
9. Защита курсового проекта. 28.12.2003

Приложение Б

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Б.1 Меню

Передвижение по меню осуществляется с помощью клавиш “↑” и “↓”. Для выбора пункта меню нужно нажать Enter. Для выхода из меню нужно нажать ESC. Передвижение по пунктам подменю осуществляется с помощью клавиш “↑” и “↓”. Для выбора пункта подменю нужно нажать клавишу Enter. Для выхода из подменю нужно нажать клавишу ESC. Из основного меню путем нажатия клавиши Esc осуществляется вызов пункта меню “Выход”.

Б.1.1 Пункт «Файл»

На экран выводится вертикальное меню, состоящее из трех подпунктов: “Загрузка”, “Очистка”, “Выход”. Хождение по меню осуществляется с помощью нажатия клавиш <↑> и <↓>. Для выбора одного из пунктов необходимо нажать клавишу Enter.

Б.1.1.1 Подпункт «Загрузка»

На экран выводится окошко с запросом о вводимом файле, после чего нужно ввести имя файла, нажать клавишу Enter. Далее произойдет загрузка и вывод содержимого файла на экран, либо окошко, оповещающее о том, что загрузка не удалась по какой-либо причине. Для экстренной остановке выполнения какой-нибудь команды, используйте клавишу Esc.

Б.1.1.2 Подпункт «Очистка»

На экран выводится окошко с запросом о вводимом файле, после чего нужно ввести имя файла, нажать клавишу Enter. Далее произойдет очистка содержимого файла и вывод окна об успешном выполнении очистки, либо окошко, оповещающее о том, что загрузка не удалась по какой-либо причине. Для экстренной остановке выполнения какой-нибудь команды, используйте клавишу Esc.

Б.1.1.3 Подпункт «Выход»

Смотри пункт “Выход”.

Б.1.2 Пункт «Удаление»

На экран выводится вертикальное меню, состоящее из трех подпунктов: “По номеру”, “По интервалу”, “По ключу”. Хождение по меню осуществляется с помощью нажатия клавиш <↑> и <↓>. Для выбора одного из пунктов необходимо нажать клавишу Enter.

Б.1.2.1 Подпункт «По номеру»

На экран выводится окошко с запросом о вводимом удаляемом порядковом номере элемента, после чего нужно ввести число, нажать клавишу Enter. Далее произойдет удаление элемента таблицы под заданным номером и вывод содержимого файла на экран. Для экстренной остановке выполнения какой-нибудь команды, используйте клавишу Esc.

Б.1.2.2 Подпункт «По интервалу»

На экран выводится окошко с запросом о вводимом интервале удаляемых элементов, после чего нужно ввести 2 числа (начального и конечного удаляемого элемента), нажать клавишу Enter. Далее произойдет удаление элементов таблицы под заданным номером и вывод содержимого файла на экран. Для экстренной остановке выполнения какой-нибудь команды, используйте клавишу Esc.


Б.1.2.3 Подпункт «По ключу»

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

Б.1.3 Пункт «Помощь»

На экран выводится справка об эксплуатации программы.

Б.1.4 Пункт «Выход»

При выборе этого пункта программа завершит свою работу.


Приложение В

ЭКРАННЫЕ ФОРМЫ

Рисунок В.1 – Начальный вид экрана

Рисунок В.2 – Вид экрана после выбора пункта меню “Файл”-“Загрузка”

Рисунок В.3 – Реакция программы на отсутствие загружаемого файла

Рисунок В.4 – Вид экрана после выбора пункта меню “Удаление”-“По номеру”

Рисунок В.5 – Загрузка файла справки

Рисунок В.6 – Запрос о выходе из программы


Приложение Г

ЛИСТИНГ ПРОГРАММЫ

#include <stdio.h>

#include <conio.h>

#include <graphics.h>

#include <alloc.h>

#include <dos.h>

#include <string.h>

#include <stdlib.h>

int a,b,d=1,d2=1,i,j,m,l=0,x=0,z=0,n,p=0,r=0,k=0,nomer=0,nom;

int mode=VGAHI;

int driver=VGA;

char kluch[10];

int nach, con;

FILE *in;

char ch,*v,h[10],cd[50],*str,c[5],s[50],cf[50],cb;

void *buf,*buf1, *buf2, *buf3;

struct type

{

char nazv[10];

char kol[10];

char sum[10];

char kl[10];

} tablica[15],*ukz;

void imya();

void del()

{FILE *in;

char fname[11];

setfillstyle(SOLID_FILL,0);

bar(200,100,500,300);

setcolor(4);

outtextxy(300,152,"‚ўҐ¤ЁвҐЁ¬пд ©« !!!(*.in)");

outtextxy(315,162,"max 2 бЁ¬ў®« :_");

rectangle(301,174,463,185);

imya();

in = fopen(s,"w");

fclose(in);

outtextxy(300,152,"” ©« ®зЁйҐ­!!!");

}

void record(void)

{ char ch,name[11];

FILE *out;

int j=0;

clrscr();

printf("•®вЁвҐб®еа ­ЁвмЁ­д®а¬ жЁоўд ©«(y - ¤ , Ё­ зҐ ­Ґв):");

ch=getch();

if (ch=='y')

{

do

{

clrscr();

printf("‚ўҐ¤ЁвҐЁ¬пд ©« (*.out):");

scanf("%s",name);

out=fopen(name,"w");

}while (out==NULL);

for (j=0;j<=n;j++)

{

fprintf(out,"%s\n",tablica[j].nazv);

fprintf(out,"%s\n",tablica[j].kol);

fprintf(out,"%s\n",tablica[j].sum);

fprintf(out,"%s\n",tablica[j].kl);}

clrscr();

gotoxy(32,13);

printf("‡ ЇЁбмЇа®Ё§ўҐ¤Ґ­ гбЇҐи­®!");

getch();

fclose(out);

}

}

void interval()

{

setfillstyle(SOLID_FILL,0);

setcolor(4);

outtextxy(300,202,"‚ўҐ¤ЁвҐ ­Ё¦­ооЈа ­Ёжг!!!(*.in)");

outtextxy(315,212,"max 2 бЁ¬ў®« :_");

rectangle(301,224,463,235);

p=0;

do{

a=getch();

if ((a!=13)&&(a!=8)&&(a!=27))

{ s[p]=a; p++; s[p]='\x0';}

bar(302,225,302+textwidth(s),226+textheight(s));

if (a==8) if (p>0) s[--p]='\x0';

outtextxy(302,225,s);

if(strlen(s)>15)

{

outtextxy(250,220,"Ѓ®«миҐбЁ¬ў®«®ўўўҐбвЁ ­Ґ«м§п!!!!");

outtextxy(250,230," „«пЇа®¤®«¦Ґ­Ёп ­ ¦¬ЁвҐ Enter");

do

{

a=getch();

}while (a!=13);

}

}while(a!=13);

setfillstyle(SOLID_FILL,0);

bar(300,202,600,235);

nach=atoi(s);

setfillstyle(SOLID_FILL,0);

setcolor(4);

outtextxy(300,202,"‚ўҐ¤ЁвҐўҐае­ооЈа ­Ёжг!!!(*.in)");

outtextxy(315,212,"max 2 бЁ¬ў®« :_");

rectangle(301,224,463,235);

p=0;

do{

a=getch();

if ((a!=13)&&(a!=8)&&(a!=27))

{ s[p]=a; p++; s[p]='\x0';}

bar(302,225,302+textwidth(s),226+textheight(s));

if (a==8) if (p>0) s[--p]='\x0';

outtextxy(302,225,s);

if(strlen(s)>15)

{

outtextxy(250,220,"Ѓ®«миҐбЁ¬ў®«®ўўўҐбвЁ ­Ґ«м§п!!!!");

outtextxy(250,230," „«пЇа®¤®«¦Ґ­Ёп ­ ¦¬ЁвҐ Enter");

do

{

a=getch();

}while (a!=13);

}

}while(a!=13);

setfillstyle(SOLID_FILL,0);

bar(164,24,606,446);

con=atoi(s);

i=0;j=0;x=0;k=0;

outtextxy(175,30,"Ќ®¬ €­¤ҐЄбЌ §ў ­ЁҐ‘㬬 Љ«оз");

do

{

i++;x+=10;j++;

if (i==nach)

{

do

{

i++;

}

while (i>=con);

}

itoa(j,c,10);

outtextxy(180,50+x,c);

outtextxy(220,50+x,ukz[i].nazv);

outtextxy(290,50+x,ukz[i].kol);

outtextxy(390,50+x,ukz[i].sum);

outtextxy(460,50+x,ukz[i].kl);

}while (i!=n);

getch();

}

void load(void)

{

FILE *in;

char fname[11];

int i=1;

setfillstyle(SOLID_FILL,0);

setcolor(4);

outtextxy(300,152,"‚ўҐ¤ЁвҐЁ¬пд ©« !!!(*.in)");

outtextxy(315,162,"max 20 бЁ¬ў®«®ў:_");

rectangle(301,174,463,185);

imya();

in = fopen(s,"r");

do

{ fgets(ukz->nazv,10,in);

fgets(ukz->kol,10,in);

fgets(ukz->sum,10,in);

fgets(ukz->kl,10,in);

i++;

k++;

} while(!feof(in));

rewind(in);

i=1;

outtextxy(175,30,"Ќ®¬ €­¤ҐЄбЌ §ў ­ЁҐ‘㬬 Љ«оз");

ukz=(struct type *)malloc(sizeof(struct type)*k);

do

{i++;

itoa(i-1,c,10);

x+=10;

outtextxy(180,50+x,c);

fscanf(in,"%s",ukz[i-1].nazv);

outtextxy(220,50+x,ukz[i-1].nazv);

fscanf(in,"%s",ukz[i-1].kol);

outtextxy(290,50+x,ukz[i-1].kol);

fscanf(in,"%s",ukz[i-1].sum);

outtextxy(390,50+x,ukz[i-1].sum);

fscanf(in,"%s",ukz[i-1].kl);

outtextxy(460,50+x,ukz[i-1].kl);

n=i;

}while (!feof(in));

fclose(in);

}

openf (char s[20])

{

setfillstyle(SOLID_FILL,0);

bar(164,24,606,446);

z=0;

k=0;

in=fopen(s,"r");

setviewport(164,24,606,446,0);

rewind(in);

while(fgets(cd,53,in)!=NULL)

{

a=strlen(cd);

if(cd[a-1]=='\n')

cd[a-1]=' ';

setcolor(7);

outtextxy(10,10+x,cd);

x+=10;

k++;

}

a=getch();

while (a!=27)

{

a=getch();

}

k=0;

x=0;

clearviewport();

setviewport(0,0,639,479,0);

fclose(in);

return(0);

}

void imya()

{

p=0;

do{

a=getch();

if ((a!=13)&&(a!=8)&&(a!=27))

{ s[p]=a; p++; s[p]='\x0';}

bar(302,175,302+textwidth(s),176+textheight(s));

if (a==8) if (p>0) s[--p]='\x0';

outtextxy(302,175,s);

if(strlen(s)>19)

{

outtextxy(250,200,"Ѓ®«миҐбЁ¬ў®«®ўўўҐбвЁ ­Ґ«м§п!!!!");

outtextxy(250,210," „«пЇа®¤®«¦Ґ­Ёп ­ ¦¬ЁвҐ Enter");

do

{

a=getch();

}while (a!=13);

}

}while(a!=13);

setfillstyle(SOLID_FILL,0);

bar(164,24,606,446);

}

liniya (int k,int m,int n)

{ setcolor(n);

line(130,20+k*60,130,50+k*60);

line(20,50+k*60,130,50+k*60);

setcolor(m);

line(20,20+k*60,20,50+k*60);

line(20,20+k*60,130,20+k*60);

return 0;

}

liniya2(int i,int m,int n)

{

setcolor (m);

line(20,300+i*60,20,330+i*60);

line(20,300+i*60,130,300+i*60);

setcolor (n);

line(130,300+i*60,130,330+i*60);

line(20,330+i*60,130,330+i*60);

return 0;

}

void nomer1()

{

setfillstyle(SOLID_FILL,0);

setcolor(4);

outtextxy(300,202,"‚ўҐ¤ЁвҐ ­®¬Ґа § ЇЁбЁ!!!(*.in)");

outtextxy(315,212,"max 2 бЁ¬ў®« :_");

rectangle(301,224,463,235);

p=0;

do{

a=getch();

if ((a!=13)&&(a!=8)&&(a!=27))

{ s[p]=a; p++; s[p]='\x0';}

bar(302,225,302+textwidth(s),226+textheight(s));

if (a==8) if (p>0) s[--p]='\x0';

outtextxy(302,225,s);

if(strlen(s)>15)

{

outtextxy(250,220,"Ѓ®«миҐбЁ¬ў®«®ўўўҐбвЁ ­Ґ«м§п!!!!");

outtextxy(250,230," „«пЇа®¤®«¦Ґ­Ёп ­ ¦¬ЁвҐ Enter");

do

{

a=getch();

}while (a!=13);

}

}while(a!=13);

setfillstyle(SOLID_FILL,0);

bar(164,24,606,446);

nom=atoi(s);

i=0;j=0;x=0;

outtextxy(175,30,"Ќ®¬ €­¤ҐЄбЌ §ў ­ЁҐ‘㬬 Љ«оз");

m=n;

do

{ x+=10;

i++; j++;

if((i==nom)&&(i==n)) break;

if(i==nom){i++;m-=1;}

itoa(j,c,10);

outtextxy(180,50+x,c);

outtextxy(220,50+x,ukz[i].nazv);

outtextxy(290,50+x,ukz[i].kol);

outtextxy(390,50+x,ukz[i].sum);

outtextxy(460,50+x,ukz[i].kl);

}while (i!=m);

getch();

}

void kluchik()

{

setfillstyle(SOLID_FILL,0);

setcolor(4);

outtextxy(300,202,"‚ўҐ¤ЁвҐЄ«оз (*.in)");

outtextxy(315,212,"max 2 бЁ¬ў®« :_");

rectangle(301,224,463,235);

p=0;

do{

a=getch();

if ((a!=13)&&(a!=8)&&(a!=27))

{ s[p]=a; p++; s[p]='\x0';}

bar(302,225,302+textwidth(s),226+textheight(s));

if (a==8) if (p>0) s[--p]='\x0';

outtextxy(302,225,s);

if(strlen(s)>15)

{

outtextxy(250,220,"Ѓ®«миҐбЁ¬ў®«®ўўўҐбвЁ ­Ґ«м§п!!!!");

outtextxy(250,230," „«пЇа®¤®«¦Ґ­Ёп ­ ¦¬ЁвҐ Enter");

do

{

a=getch();

}while (a!=13);

}

}while(a!=13);

setfillstyle(SOLID_FILL,0);

bar(164,24,606,446);

strcpy(kluch,s);

v=s;

i=0;j=0;x=0;

outtextxy(175,30,"Ќ®¬ €­¤ҐЄбЌ §ў ­ЁҐ‘㬬 Љ«оз");

do

{ x+=10;

i++;j++;

if (ukz[i-2].kl==v) i++;

itoa(j,c,10);

outtextxy(180,50+x,c);

outtextxy(220,50+x,ukz[i-1].nazv);

outtextxy(290,50+x,ukz[i-1].kol);

outtextxy(390,50+x,ukz[i-1].sum);

outtextxy(460,50+x,ukz[i-1].kl);

}while (i!=n);

getch();

}

file (char str1[5],char str2[5],char str3[5])

{

d2=1;

setfillstyle(SOLID_FILL,1);

for (i=0;i<3;i++)

{

bar(20,300+i*60,130,330+i*60);

liniya2(i,9,0);

}

while (a!=27)

{

setcolor(6);

outtextxy(27,310,str1);

outtextxy(27,370,str2);

outtextxy(27,430,str3);

if ((a==80)||(a==72))

{

if (a==80) d2++;

if (a==72) d2--;

if (d2>3) d2=1;

if (d2<1) d2=3;

}

if ((d2==1)&&(nomer==1))

{

setcolor(4);

outtextxy(27,310,str1);

liniya2(0,0,9);

a=getch();

liniya2(0,9,0);

if (a==13)

{

del();

}else continue;

}

if ((d2==1)&&(nomer==2))

{

setcolor(4);

outtextxy(27,310,str1);

liniya2(0,0,9);

a=getch();

if (a==13)

{

nomer1();

}

liniya2(0,9,0);

}

if ((d2==2)&&(nomer==1))

{

setcolor(4);

outtextxy(27,370,str2);

liniya2(1,0,9);

a=getch();

if (a==13)

{

load();

}

liniya2(1,9,0);

}

if ((d2==2)&&(nomer==2))

{

setcolor(4);

outtextxy(27,370,str2);

liniya2(1,0,9);

a=getch();

if (a==13)

{

kluchik();

}

liniya2(1,9,0);

}

if ((d2==3)&&(nomer==2))

{

setcolor(4);

outtextxy(27,430,str3);

liniya2(2,0,9);

a=getch();

liniya2(2,9,0);

if (a==13)

{

interval();

}

else continue;

liniya2(2,9,0);

}

}

setfillstyle(SOLID_FILL,8);

bar(20,300,130,460);

return 0;

}

void interfice()

{

setfillstyle(SOLID_FILL,8);

bar(0,0,640,480);

setfillstyle(SOLID_FILL,0);

bar(164,24,606,446);

setfillstyle(SOLID_FILL,1);

for (i=0;i<4;i++)

{

bar(20,20+i*60,130,50+i*60);

liniya(i,9,0);

}

setfillstyle (SOLID_FILL,1);

bar(160,20,163,450);

bar(20,265,163,268);

bar(160,20,610,23);

bar(607,20,610,450);

bar(160,447,610,450);

d=1;

while (ch!=27)

{

setcolor(6);

outtextxy(60,30,"”Ђ‰‹");

outtextxy(45,90,"“„Ђ‹…Ќ€…");

outtextxy(45,150,"‘ЏђЂ‚ЉЂ");

outtextxy(55,210,"‚›•Ћ„");

if ((a==80)||(a==72))

{

if (a==80) d++;

if (a==72) d--;

if (d>4) d=1;

if (d<1) d=4;

}

if (d==1)

{

nomer=1;

setcolor(4);

outtextxy(60,30,"”Ђ‰‹");

liniya(0,0,9);

a=getch();

liniya(0,9,0);

if (a==13)

{

file("Ћ—€‘’ЉЂ","‡Ђѓђ“‡ЉЂ","");

}else continue;

}

if (d==2)

{

setcolor(4);

nomer=2;

outtextxy(45,90,"“„Ђ‹…Ќ€…");

liniya(1,0,9);

a=getch();

liniya(1,9,0);

if (a==13)

{

file("ЏЋЌЋЊ…ђ“","ЏЋЉ‹ћ—“","ЏЋ €Ќ’…ђ‚Ђ‹“");

}else continue;

}

if ((d==3))

{

setcolor(4);

outtextxy(45,150,"‘ЏђЂ‚ЉЂ");

liniya(2,0,9);

a=getch();

liniya(2,9,0);

if (a==13)

{

openf("e:\\bc31\\bin\\help.dat");

}

else continue;

}

if (d==4)

{

setcolor(4);

outtextxy(55,210,"‚›•Ћ„");

liniya(3,0,9);

a=getch();

liniya(3,9,0);

if (a==13)

{

break;

}

else continue;

}

}

}

void main(void)

{

initgraph(&driver,&mode,"e:\\bc31\\bin");

interfice();

closegraph();

}

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
trendlive.ru Раскрутила свои видео, сайты с помощью сервиса трендов хештегов сайта trendlive.ru
15:54:10 02 июля 2022
Хватит париться. На сайте FAST-REFERAT.RU вам сделают любой реферат, курсовую или дипломную. Сам пользуюсь, и вам советую!
Никита02:32:45 05 ноября 2021
.
.02:32:44 05 ноября 2021
.
.02:32:42 05 ноября 2021
.
.02:32:41 05 ноября 2021

Смотреть все комментарии (22)
Работы, похожие на Курсовая работа: Написание программы для удаления элементов и очистки внешних таблиц

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

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



Результаты(294365)
Комментарии (4230)
Copyright © 2005-2023 BestReferat.ru support@bestreferat.ru реклама на сайте

Рейтинг@Mail.ru