Автор работы: Пользователь скрыл имя, 15 Февраля 2013 в 05:37, курсовая работа
C++–компилируемый статически типизированный язык программирования общего назначения. Поддерживая разные парадигмы программирования, сочетает свойства как высокоуровневых, так и низкоуровневых языков.
В сравнении с его предшественником – языком C, – наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Название «C++» происходит от языка C, в котором унарный оператор ++ обозначает инкремент переменной.
Являясь одним из самых популярных языков программирования, C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигры). Существует несколько реализаций языка C++ – как бесплатных, так и коммерческих. Их производят Проект GNU, Microsoft, Intel и Embarcadero (Borland). C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.
Введение
5
1 Теоретические основы
8
2 Описание алгоритма программы
14
3 Описание основных функций и переменных программы
19
4 Тестирование программы
20
5 Руководство пользователя
23
Заключение
24
Библиографический список
25
Министерство образования и науки Российской Федерации
Государственное образовательное учреждение высшего профессионального образования
АМУРСКИЙ ГОСУДАРСТВЕННЫЙ
(ГОУВПО ≪АмГУ≫)
Факультет Математики и информатики
Кафедра Информационных и управляющих систем
Специальность 230100.62– Автоматизированные системы обработки информации и управления
КУРСОВАЯ РАБОТА
на тему: Структурный шаблон, динамический массив
по дисциплине ≪Программирование≫
Исполнитель студент группы 153об
Руководитель доцент кафедры информационных и управляющих систем |
_______________________ (подпись, дата)
_______________________ (подпись, дата) |
Д. Г. Горюнов
Т. А. Галаган |
Благовещенск 2012
ЗАДАНИЕ
7 вариант.
Создать структурный шаблон содержащий: фамилию, имя, пол, рост, дату рождения человека.По запросу пользователя предусмотреть вывод:
- всех данных, отсортированных в алфавитном порядке фамилий;
-отдельно данных о мужчинах, о женщинах
-средний рот мужчин,
-фамилии
и имени самой молодой женщины,
РЕФЕРАТ
Курсовая работа содержит 30 с., 11 рисунков, 1 таблица, 1приложение, 4источника.
ЯЗЫК С++, ПРОГРАММА, АЛГОРИТМ ПРОГРАММЫ, ДИНАМИЧЕСКИЙ МАССИВ, СТРУКТУРА, МАССИВ СТРУКТУР, ВЫВОД ДАННЫХ.
Цель работы:изучение структур и распределения динамической памяти.
Разработать программу на С++ для обработки данных типа структура. Обработка должна включить следующие функции:
В работе были изучены и использованы: структура, динамический массив.
На основе теории была создана программа, соответствующая поставленной задаче.
Для создания
программы использовался
Введение |
5 |
1 Теоретические основы |
8 |
2 Описание алгоритма программы |
14 |
3 Описание основных функций и переменных программы |
19 |
4 Тестирование программы |
20 |
5 Руководство пользователя |
23 |
Заключение |
24 |
Библиографический список |
25 |
Приложение А. Листинг программы |
26 |
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
ЯзыкC++
C++–компилируемый статически типизированный язык программирования общего назначения. Поддерживая разные парадигмы программирования, сочетает свойства как высокоуровневых, так и низкоуровневых языков.
В сравнении с его предшественником – языком C, – наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Название «C++» происходит от языка C, в котором унарный оператор ++ обозначает инкремент переменной.
Являясь одним из самых популярных языков программирования, C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигры). Существует несколько реализаций языка C++ – как бесплатных, так и коммерческих. Их производят Проект GNU, Microsoft, Intel и Embarcadero (Borland). C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.
При создании C++ Бьёрн Страуструп стремился сохранить совместимость с языком C. Множество программ, которые могут одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико –отчасти благодаря тому, что синтаксис C++ был основан на синтаксисе C.
Язык возник в начале 1980-х годов, когда сотрудник фирмы Bell Laboratories Бьёрн Страуструп придумал ряд усовершенствований к языку C под собственные нужды. До начала официальной стандартизации язык развивался в основном силами Страуструпа в ответ на запросы программистского сообщества. В 1998 году был ратифицирован международный стандарт языка C++: ISO/IEC 14882:1998 «Standard for the C++ Programming Language»; после принятия технических исправлений к стандарту в 2003 году - нынешняя версия этого стандарта–ISO/IEC 14882:2003.
Ранние версии языка, известные под именем «C с классами», начали появляться с 1980 года. Идея создания нового языка берёт начало от опыта программирования Страуструпа для диссертации. Он обнаружил, что язык моделирования Simula имеет такие возможности, которые были бы очень полезны для разработки большого программного обеспечения, но работает слишком медленно. В то же время язык BCPL достаточно быстр, но слишком близок к языкам низкого уровня и не подходит для разработки большого программного обеспечения. Страуструп начал работать в Bell Labs над задачами теории очередей (в приложении к моделированию телефонных вызовов). Попытки применения существующих в то время языков моделирования оказались неэффективными. Вспоминая опыт своей диссертации, Страуструп решил дополнить язык C (преемник BCPL) возможностями, имеющимися в языке Симула. Язык C, будучи базовым языком системы UNIX, на которой работали компьютеры Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами. В результате, практические задачи моделирования оказались доступными для решения как с точки зрения времени разработки (благодаря использованию Симула-подобных классов) так и с точки зрения времени вычислений (благодаря быстродействию C). В начале в C были добавлены классы (с инкапсуляцией), производные классы, строгая проверка типов, inline-функции и аргументы по умолчанию.
Разрабатывая C с классами (позднее C++), Страуструп также написал программу cfront - транслятор, перерабатывающий исходный код C с классами в исходный код простого C. Новый язык, неожиданно для автора, приобрёл большую популярность среди коллег и вскоре Страуструп уже не мог лично поддерживать его, отвечая на тысячи вопросов.
В 1983 году произошло переименование языка из C с классами в C++. Кроме того, в него были добавлены новые возможности, такие как виртуальные функции, перегрузка функций и операторов, ссылки, константы, пользовательский контроль над управлением свободной памятью, улучшенная проверка типов и новый стиль комментариев (//). Его первый коммерческий выпуск состоялся в октябре 1985 года. В 1985 году вышло также первое издание «Языка программирования C++», обеспечивающее первое описание этого языка, что было чрезвычайно важно из-за отсутствия официального стандарта. В 1989 году состоялся выход C++ версии 2.0. Его новые возможности включали множественное наследование, абстрактные классы, статические функции-члены, функции-константы и защищённые члены.
В 1990 году вышло «Комментированное справочное руководство по C++», положенное впоследствии в основу стандарта. Последние обновления включали шаблоны, исключения, пространства имён, новые способы приведения типов и булевский тип.
Стандартная библиотека C++ также развивалась вместе с ним. Первым добавлением к стандартной библиотеке C++ стали потоки ввода/вывода, обеспечивающие средства для замены традиционных функций C printf и scanf. Позднее самым значительным развитием стандартной библиотеки стало включение в неё Стандартной библиотеки шаблонов.
Никто не обладает правами на язык C++, он является свободным. Однако сам документ стандарта языка (за исключением черновиков) не доступен бесплатно.
Для свободного программирования используются различные компиляторы. Для разработки данной программы использовался компилятор Dev С++
Компилятор бесплатен, и после его установки вы сможете начать программировать. В редакторе вы вводите строки кода. К тому же систему встроен бесплатный компилятор GNU C ++, который транслирует ваш исходный код в язык понятный компьютеру. Если в вашей программе не содержится ошибок, Dev-C ++ завершит создание программы и создаст исполняемый файл.
1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ
В программе были использованы следующие библиотеки: windows.h,iostream.h,stdlib.h, string.h, stdio.h,algorithm.Также была использована директива препроцессора #define.
Частью стандартной
библиотеки C++ является библиотека iostream
– объектно-ориентированная
Для использования библиотеки iostream в программе необходимо включить заголовочный файл
windows.h–Windows–
string.h –заголовочный файл стандартной библиотеки языка Си, содержащий функции для работы с нуль–терминированными строками и различными функциями работы с памятью.
Функции объявленные в string широко используются, так как являясь частью стандартной библиотеки, они гарантированно работают на всех платформах, поддерживающих Си. Кроме этого, строковые функции работают только с набором символов ASCII или его совместимыми расширениями, такими как ISO-8859-1; многобайтовые кодировки такие как UTF-8 будут работать, с отличием, что «длина» строки будет определяться как число байтов, а не число символов Юникода, которым они соответствуют. Несовместимые с ASCII строки обычно обрабатываются кодом описанным в wchar.h.
Большинство функций string.h не производят никакого выделения памяти и контроля границ; эта обязанность целиком ложится на плечи программиста.
Тип данных
bool относится к семейству целых типов.
Переменные этого типа могут принимать
только значения true или false.
В C++ все услрвные выражения возвращают
логические значения.
Если условие равно true, то выражение будет выполнено, если же условие равно false,то выражение выполнено не будет. При создании условных выражений следует помнить о том, чтов C++ любое значение, отличное от нуля, воспринимается как истинное, а равное нулю - как ложное.
Когда к переменной типа bool применяются операции префиксного и постфиксного инкремента (++), переменная принимает значение true. Операторы префиксного и постфиксного декремента (--) не разрешены с переменными типа bool. Кроме того, поскольку тип данных bool относится к целочисленным, переменные этого типа могут быть приведены к типу int, при этом значение true преобразуется в I, aзначение false –в 0.
stdlib.h –заголовок (заголовочный файл) стандартной библиотеки общего назначения языка Си , который содержит в себе функции, занимающиеся выделением памяти, контроль процесса выполнения программы, преобразования типов и другие. Заголовок вполне совместим сC++ и в C++ известен как cstdlib. Название «stdlib» расшифровывается как «standard library» (стандартная библиотека).
Члены stdlib.h можно разделить на следующие категории: преобразования типов, управление памятью, контроль процесса, сортировка и поиск, математика.
Язык С++ предлагает большой ассортимент полезных функций для работы со строками. Прототипы всех функций работы со строками содержатся в файле string.h.
В C++ существует множество спецальных алгоритмов для работы с массивами. Они позволяют сортировать данные в массиве, искать в нем какое-либо значение, менять элементы местами и т.д. Для их работы вам необходимо подкючить <algorithm> в начале программы.
Алгоритмы поиска.
Все алгоритмы поиска возвращают итератор на элемент, а не сам элемент.
find(begin,end,what) –ищет первый элемент со значенимем what в промежутке begin - end, где begin и end - итераторы соответствующего контейнера
adjacent_find(start,end)
- ищет два последовательных
search(start,end,sbegin,send) - ищетмежду start и end последовательность sbegin-send
Алгоритмы сортировки
reverse(start,end) –инвертирует элементы последовательности start–end (т.е. сортирует в обратном порядке. Если было последовательность 1 2 3, то в результате получим 3 2 1)