Автор работы: Пользователь скрыл имя, 18 Марта 2014 в 23:39, курсовая работа
Представление данных в виде структур применяется в основном при машинной обработке документов. Любой документ делится на три части: «шапка», колонки и строки. Каждая строка документа является записью, которая представляет из себя единое целое и состоит из отдельных данных, называемых реквизитами, с разной формой (числа, буквенные рядки и т.д.). Цель курсовой работы – освоить способы организации программ при решении задач с использованием структур. Проанализирована задача и выведены методы ее программной реализации. Написана программа для решения индивидуального задания. В курсовой работе использованы приемы передачи массива записей в функцию, организации графического интерфейса в текстовом режиме. Реализована возможность построения графика.
Вступление …………………..….….……………….……… ..… 4
Постановка задачи .…………………………………………. 5
Анализ существующих методов работы со структурами .6
Описание программы …………………………………….... 7
Общие сведения ……………………………………….. 7
Исходные данные …………….………………………. 13
Обработанные данные ………………………………... 14
Переменные, константы и функции ………..……….. 15
Выводы …………………………………………………………... 17
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
ДОНЕЦКИЙ НАЦИОНАЛЬНИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра АСУ
Пояснительная записка
к курсовой работе
по дисциплине
«Программирование»
на тему
«Обработка записей»
Исполнитель
студент группы ИУС-09в Мех Д.Ю.
Руководитель
Оценка____________
На проверку сдано:
Донецк – 2011
РЕФЕРАТ
Страниц - 45 , рисунков – 4 , таблиць – 2
Цель курсовой работы – освоить способы организации программ при решении задач с использованием структур. Проанализирована задача и выведены методы ее программной реализации. Написана программа для решения индивидуального задания. В курсовой работе использованы приемы передачи массива записей в функцию, организации графического интерфейса в текстовом режиме. Реализована возможность построения графика.
ФУНКЦИЯ, ИНТЕРФЕЙС, ЗАПИСЬ, АЛГОРИТМ, СОРТИРОВКА,
ВЫВОД НА ЭКРАН, ВЫВОД В ФАЙЛ, ГРАФИК, СОЗДАНИЕ ФАЙЛА, ОТКРЫТИЕ ФАЙЛА, ПОДПУНКТ МЕНЮ, УДАЛЕНИЕ ЗАПИСЕЙ ИЗ СПИСКА.
СОДЕРЖАНИЕ
Вступление …………………..….….……………….……… ..… 4
Выводы …………………………………………………………... 17
Вступление
Представление данных в виде структур применяется в основном при машинной обработке документов. Любой документ делится на три части: «шапка», колонки и строки. Каждая строка документа является записью, которая представляет из себя единое целое и состоит из отдельных данных, называемых реквизитами, с разной формой (числа, буквенные рядки и т.д.).
В программе каждая строка документа – это отдельная запись. Документ в целом при обработке представляется массивом записей, а при длительном хранении – файлом, компонентами которого являются соответствующие записи. При выведении на экран списков, необходимо оформлять их в виде таблицы с соответствующим заголовком. Выведенные на экран данные должны быть записаны в выходной файл(один или несколько), которой можно будет просмотреть после закрытия программы.
Необходимо написать программу, которая отвечает заданным требованиям:
В программе должно быть реализовано меню, позволяющее выполнять действия:
В программе должна быть описана сложная структура и построен заданный график. Кроме того, в программе может быть информация об ее авторе, подсказки пользователю, заставка или другие элементы интерфейса. Программа должна иметь необходимые функции с соответствующими параметрами.
На предприятии ведется учет данных трудовой книжки работников. Для работника: табельный номер, фамилия, имя, отчество, дата рождения, дата приема. Для трудовой книжки: дата приема, дата увольнения, наименования предприятия. Для работников произвести расчет стажа на дату приема. Вывести сформированный список в порядке возрастания стажа или по табельным номерам. Построить диаграмму количества работников в разрезе трудового стажа по градациям: с 0 до 5 лет, с 5 до 8, с 8 до 20, с 20 до 25, с 25 и выше. Реализовать заданную структуру в виде стека.
2. Анализ существующих методов работы со структурами данных
При разработке программного обеспечения большую роль играет проектирование записей данных и записи всех данных в виде связанных структур данных.
Хорошо спроектированная структура данных оптимизирует использование ресурсов, необходимых для выполнения наиболее критических операций.
Структуры данных формируются с помощью типов данных, ссылок и операций над ними в выбранном языке программирования.
Разные виды структур данных подходят для разных заданий, некоторые из них имею узкую специализацию. Например, В-деревья обычно подходят для создания баз данных, в то время как хеш-таблицы используются повсеместно для создания разного рода словарей, отображения доменных имен в Интернет-адресах компьютеров.
При разработке программного обеспечения сложность реализации и качество работы программ существенно зависит от правильного выбора структуры данных. Это понимание дало начало формальным методам разработки и языкам программирования, в которых именно структуры данных, а не алгоритмы, являются основой архитектуры программного инструмента. Большая часть таких языков владеет некоторым типом модульности, что позволяет структурам данных безопасно применяться в разных дополнениях.
Фундаментальными строительными блоками для большей части структур данных являются массивы, записи и объединения.
3. Описание программы
3. 1 Общие сведения
В программе реализовано меню, позволяющее выполнять следующие действия:
- Открывание файла, содержащего записи обрабатываемого массива, по умолчанию (файл должен иметь имя “curs.txt” и находиться на диске C).
- Сохранение сформированного
- Сохранение сформированного массива записей в заданный пользователем файл.
- Добавление записи в структуру.
- Удаление записи из структуры.
- Упорядочивание записи по
- Печать структуры.
- Построение графика
В программе описана сложная структура и реализована возможность построения диаграммы. Для корректной работы программы, в каталоге с исполняющим файлом программы должен находится файл «EGAVGA.BGI».
Інтерфейс програми
Начав работу с программой, пользователь видит перед собой начальный интерфейс программы:
Подпункт “Open” открывает и считывает структуру из файла по умолчанию (файл должен иметь имя “curs.txt” и находится на диске С)
Подпункт “Save” сохраняет текущую структуру в файл по умолчанию (файл должен иметь имя “curs.txt” и находится на диске С)
Подпункт “Save as” сохраняет текущую структуру в файл, заданный пользователем.
Подпункт “Back” возвращается в предыдущее меню.
Подпункт “Print workers” выводит текущую структуру на экран.
Подпункт “New worker” добавляет новую запись в структуру.
Подпункт “Delete worker” удаляет запись из структуры.
Подпункт “Back” возвращается в предыдущее меню.
Подпункт “Sort exp” сортирует текущую структуру в порядке возрастания стажа.
Подпункт “Sort table number” сортирует текущую структуру в порядке возрастания табельного номера.
Подпункт “Back” возвращается в предыдущее меню.
Перемещение по пунктам меню и подменю осуществляется с помощью стрелок вверх и вниз, выбор пункта осуществляется с помощью клавиши Enter, возврат в предыдущее меню или выход из программы осуществляется с помощью клавиши Esc.
5235 Meh Dmitriy Urievich 6 7 1991 24 1 2011 2 4 5 2003 28 12 2005 factory1 9 10 2007 17 2 2009 factory2
1363 Sokolov Oleg Vasilievich 13 11 1985 4 11 2008 1 8 12 1997 23 5 2005 factory1
4325 Kovalev Anatoliy Pavlovich 12 3 1989 5 10 2010 3 25 9 2004 14 2 2006 factory1 10 12 2006 3 4 2007 factory2 17 5 2008 5 11 2009 factory3
7521 Ivanov Aleksei Sergeevich 29 1 1990 30 4 2009 0
1516 Skorich Vasiliy Igorevich 17 5 1983 5 12 2005 1 26 3 2004 31 2 2005 factory1
4154 Ostapenko Genadiy Romanovich 30 11 1967 13 5 2009 1 17 9 1981 6 9 2004 factory1
6361 Chigarev Evgeniy Sergeevich 4 8 1974 2 12 2005 1 28 4 1989 14 8 2005 factory1
Данные должны записываться в файл в
строчку, через пробел в заданной по индивидуальному
заданию очередности.
3.4 Обработанные данные
7521 Ivanov Aleksei Sergeevich 29 1 1990 30 4 2009 0
1363 Sokolov Oleg Vasilievich 13 11 1985 4 11 2008 1 20 4 1989 14 8 2005 factory1
1516 Skorich Vasiliy Igorevich 17 5 1983 5 12 2005 1 1989 14 8 2005 24934 28881 ory1
4154 Ostapenko Genadiy Romanovich 30 11 1967 13 5 2009 1 28 4 1989 14 8 2005 factory1
6361 Chigarev Evgeniy Sergeevich 4 8 1974 2 12 2005 1 28 4 1989 14 8 2005 faСpory1
5235 Meh Dmitriy Urievich 6 7 1991 24 1 2011 2 28 4 1989 14 8 2005 factory1 9 10 2007 17 2 2009 factory2
4325 Kovalev Anatoliy Pavlovich 12 3 1989 5 10 2010 3 28 4 1989 14 8 2005 factory1 9 10 2007 17 2 2009 factory2 17 5 2008 5 11 2009 factory3
Данные, отсортированные по возрастанию стажа и выводимые в файл curs.txt или любой другой указанный текстовый файл.
1363 Sokolov Oleg Vasilievich 13 11 1985 4 11 2008 1 4 5 2003 28 12 2005 factory1
1516 Skorich Vasiliy Igorevich 17 5 1983 5 12 2005 1 28 4 1989 14 8 2005 factory1
4154 Ostapenko Genadiy Romanovich 30 11 1967 13 5 2009 1 28 4 1989 14 8 2005 factory1
4325 Kovalev Anatoliy Pavlovich 12 3 1989 5 10 2010 3 28 4 1989 14 8 2005 factory1 9 10 2007 17 2 2009 factory2 17 5 2008 5 11 2009 factory3
5235 Meh Dmitriy Urievich 6 7 1991 24 1 2011 2 28 4 1989 14 8 2005 factory1 9 10 2007 17 2 2009 factory2
6361 Chigarev Evgeniy Sergeevich 4 8 1974 2 12 2005 1 28 4 1989 14 8 2005 factory1
7521 Ivanov Aleksei Sergeevich 29 1 1990 30 4 2009 0
Данные, отсортированные по возрастанию табельного номера и выводимые в файл curs.txt или любой другой указанный текстовый файл.
3. 5 Переменные, константы, функции и их описание.
Типи данных
Название |
Описание |
MyStack |
Структура, содержащая указатель на вершину стека |
worker |
Базовая структура программы, реализует стек |
Work Book |
Структура, организующая распределение информации для трудовой книжки |
buffStr |
Вспомогательная структура для осуществления некоторых нехарактерных для стека операций |
Переменные
Имя |
Тип |
Описание |
StackSize |
int |
Сохраняет текущий размер стека |
TableNum |
int |
Табельный номер рабочего |
Surname |
*char |
Фамилия рабочего |
Name |
*char |
Имя рабочего |
Patron |
*char |
Отчество рабочего |
BirthDate |
int |
Дата рождения рабочего |
StDate |
int |
Дата приема на работу рабочего |
WBnum |
int |
Количество записей в трудовой книжке |
wb |
WorkBook |
Трудовая книжка |
StartDate |
int |
Дата приема на работу |
EndDate |
int |
Дата увольнения с работы |
FactName |
*char |
Название предприятия |