МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
ХАРЬКОВСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ РАДИОЭЛЕКТРОНИКИ
Кафедра Информатики
КУРСОВАЯ РАБОТА
Тема: “Разработка сервисных программ для обслуживания администрации деканата, учебной части вуза, коменданта общежития, разных сфер быта”
По дисциплине “Программирование”
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Руководитель xxxxxx.
Студент гр. xxxxxx xxxxxxx.
Харьков 2008
СОДЕРЖАНИЕ
Введение
1. Постановка задания и сфера ее использования
2. Теоретическая часть
3. Особенности работы в среде VisualC++
4. Программная реализация
4.1. Описание алгоритма и структуры программы
4.2. Описание использованных программных средств
4.3. Описание разработанных функций
5. Инструкция пользователя
Выводы
Список использованной литературы
Приложение А Текст программы
РЕФЕРАТ
Записка пояснительная к курсовой работе: 41 с., 9 рис,5 разделов, 1 приложение, 4 источника.
Объект исследования- использования структур и строк в разработке баз данных.
Цель работы - разработка программы для обслуживания деканата.
Метод исследования - изучение литературы, составление и отладка программы на компьютере.
Структуры и строки можно использовать для создания баз данных. В данном случае разработана программа для обслуживания деканата, представляющая собой базу данных и перечень запросов для обработки информации, содержащейся в этой базе.
Наиболее удобным применением структур и строк является их применение в базах данных.
Разработана программа, показывающая на практике возможности применения структур и строк.
Программа написана на языке С++ в среде Visual C++.
Основная цель данной курсовой работы- разработка сервисной программы для обслуживания деканата. Программа позволяет создать базу данных выбранного количества студентов и обращаться к базе по различным запросам, например, сортировка студентов по успеваемости, вывод на экран полной информации о студенте.
СТРОКА, СТРУКТУРА, МАССИВ, ФУНКЦИЯ, ПАРАМЕТР, ОПЕРЕТОР,ТИП.
ВВЕДЕНИЕ
Компьютер — это прибор, способный производить вычисления и принимать логические решения в миллионы или даже миллиарды раз быстрее человека. Например, многие из современных персональных компьютеров могут выполнять десятки миллионов операций сложения в секунду. Человеку, работающему с настольным калькулятором, потребовались бы десятилетия для того, чтобы завершить тот же самый объем вычислений, который мощный персональный компьютер выполняет за одну секунду. Сегодняшние самые быстрые суперкомпьютеры могут выполнять сотни миллиардов операций сложения в секунду — это примерно столько же, сколько сотни тысяч людей могут выполнить за год. А в исследовательских лабораториях уже функционируют компьютеры с быстродействием в триллионы операций в секунду.
Компьютеры обрабатывают данные под управлением наборов команд, называемых компьютерными программами. Эти компьютерные программы направляют действия компьютера посредством упорядоченных наборов действий, описанных людьми, называемыми компьютерными программистами.
Разнообразные устройства (такие как клавиатура, экран, диски, память и процессорные блоки), входящие в состав компьютерной системы, называются аппаратными средствами. Компьютерные программы, исполняемые компьютером, называются программным обеспечением. Стоимость аппаратных средств в последние годы существенно снизилась и достигла уровня, когда персональные компьютеры превратились в предмет массового потребления. К сожалению, стоимость разработки программного обеспечения неуклонно росла, так как программисты создавали все более мощные и сложные прикладные программы, не имея средств улучшить технологию их разработки. В этой книге вы изучите апробированные методы создания программного обеспечения, которые могут снизить его стоимость — структурное программирование, нисходящую пошаговую детализацию, функционализацию и объектно-ориентированное программирование.
1 ПОСТАНОВКА ЗАДАНИЯ
Разработка сервисных программ, которые позволяют обрабатывать разнообразную информацию, например , для обслуживания администрации деканата, учебной части вуза, коменданта общежития, разных сфер быта.
2 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Структуры — это составные типы данных, построенные с использованием других типов. Рассмотрим следующее определение структуры:
struct Time {
int hour; // 0-23
int minute; // 0-59
int second; // 0-59 };
Ключевое слово struct начинает определение структуры. Идентификатор Time — тег (обозначение, имя-этикетка) структуры. Тэг структуры используется при объявлении переменных структур данного типа. В этом примере имя нового типа — Time. Имена, объявленные в фигурных скобках описания структуры — это элементы структуры. Элементы одной и той же структуры должны иметь уникальные имена, но две разные структуры могут содержать не конфликтующие элементы с одинаковыми именами. Каждое определение структуры должно заканчиваться точкой с запятой. Приведенное объяснение, как мы вскоре увидим, верно и для классов.
Определение Time содержит три элемента типа int — hour, minute и second (часы, минуты и секунды). Элементы структуры могут быть любого типа и одна структура может содержать элементы многих разных типов. Структура не может, однако, содержать экземпляры самой себя. Например, элемент типа Time не может быть объявлен в определении структуры Time. Однако, может быть включен указатель на другую структуру Time. Структура, содержащая элемент, который является указателем на такой же структурный тип, называ¬ется структурой с самоадресацией. Структуры с самоадресацией полезны для формирования связных структур данных (см. главу 15).
Предыдущее определение структуры данных не резервирует никакого пространства в памяти; определение только создает новый тип данных, ко¬торый используется для объявления переменных. Переменные структуры объ¬являются так же, как переменные других типов. Объявление
Time timeObject, timeArray[10], *timePtr;
объявляет timeObject переменной типа Time, timeArray — массивом с 10 элементами типа Time, a timePtr — указателем на объект типа Time.
Доступ к элементам структуры
Для доступа к элементам структуры (или класса) используются операции доступа к элементам — операция точка (.) и операция стрелка (->). Операция точка обращается к элементу структуры (или класса) по имени переменной объекта или по ссылке на объект. Например, чтобы напечатать элемент hour структуры timeObject используется оператор
cout « timeObject.hour;
Операция стрелка, состоящая из знака минус (-) и знака больше (>), записанных без пробела, обеспечивает доступ к элементу структуры (или
класса) через указатель на объект. Допустим, что указатель timePtr был уже объявлен как указывающий на объект типа Time и что адрес структуры timeObject был уже присвоен timePtr. Тогда, чтобы напечатать элемент hour структуры timeObject с указателем timePtr, можно использовать оператор
cout « timePtr->hour;
Выражение timePtr->hour; эквивалентно (*timePtr).hour, которое разы¬меновывает указатель и делает доступным элемент hour через операцию точка. Скобки нужны здесь потому, что операция точка имеет более высокий приоритет, чем операция разыменования указателя (*). Операции стрелка и точка наряду с круглыми и квадратными скобками имеют второй наивысший приоритет (после операции разрешения области действия, введенной в главе 3) и ассоциативность слева направо.2
Использование определенного пользователем типа Time с помощью Struct
Программа на рис. 6.1 создает определенный пользователем тип структуры Time с тремя целыми элементами: hour, minute и second. Программа опреде¬ляет единственную структуру типа Time, названную dinnerTime, и использует операцию точка для присвоения элементам структуры начальных значений 18 для hour, 30 для minute и О для second. Затем программа печатает время в военном (24-часовом) и стандартном (12-часовом) форматах. Заметим, что функции печати принимают ссылки на постоянные структуры типа Time. Это является причиной того, что структуры Time передаются печатающим функ¬циям по ссылке — этим исключаются накладные расходы на копирование, связанные с передачей структур функциям по значению, а использование const предотвращает изменение структуры типа Time функциями печати. В главе 7 мы обсудим объекты const и функции-элементы const.
Существуют препятствия созданию новых типов данных указанным спо¬собом с помощью структур. Поскольку инициализация структур специально не требуется, можно иметь данные без начальных значений и вытекающие отсюда проблемы. Даже если данные получили начальные значения, воз¬можно, это было сделано неверно. Неправильные значения могут быть при¬своены элементам структуры (как мы сделали на рис. 6.1), потому что про¬грамма имеет прямой доступ к данным. Программа присвоила плохие значения всем трем элементам объекта dinnerTime типа Time. Если реали¬зация struct изменится (например, время теперь будет представляется какчисло секунд после полуночи), то все программы, которые используют struct, нужно будет изменить. Не существует никакого «интерфейса», гарантирую¬щего, что программист правильно использует тип данных и что данные яв¬ляются непротиворечивыми.
// FIG6_1.CPP
// Создание структуры, задание и печать ее элементов.
#include <iostream.h>
struct Time { int hour; int minute; int second;
//определение структуры // 0-23 // 0-59 // 0-59
void printMilitary(const Time &); void printStandard(const Time S) ;
// прототип // прототип
main () {
Time _олее_нный;
// переменная нового типа Time
// задание элементам правильных значения _олее_нный.hour = 18; _олее_нный.minute = 30; _олее_нный.second = 0;
cout « “Обед состоится в “;
printMilitary(_олее_нный) ;
cout « « по военному времени,» « endl
« «что соответствует «; printStandard(dinnerTime); cout « « по стандартному времени.» « endl;
// задание элементам неправильных значений dinnerTime.hour = 29; dinnerTime.minute = 73; dinnerTime.second = 103;
cout « endl « «Время с неправильными значениями: «; printMilitary (_олее_нный); cout « endl; return 0;