Информационная система по учету автомобилей
Курсовая работа, 05 Декабря 2011, автор: пользователь скрыл имя
Описание работы
Язык С++ , появившийся в начале 80-х годов, не только универсален, как язык Си, но и является средством объектного программирования, новейшей методикой проектирования и реализации программ. Главной целью создателя языка, доктора Бьерна Страустрапа, было оснащение языка С++ конструкциями, позволяющими увеличить производительность труда программистов и облегчить процесс овладения большими программными продуктами.
Содержание
ВВЕДЕНИЕ……………………………………………………………3
Постановка задачи……………………………………………5
Спецификация системы……………………………………..5
3. Структура входных и выходных данных………………………………….7
4. Диаграмма классов…………………………..……………………………..8
5. Описание классов………………………………...…………………..…....10
6. Алгоритмы по шагам и блок- схемы функций .…………………………13
7. Текст программы…………………………………………………………..15
8. Результаты работы………………………………………………………...34
ЗАКЛЮЧЕНИЕ………………………………………………………………….35
Список использованной литературы…………………………………………...36
Работа содержит 1 файл
ОтчётБадеев.doc
— 367.50 Кб (Скачать)Министерство образования Республики Беларусь
Учреждение образования
«Белорусский государственный
университет
информатики и
Кафедра экономической информатики
Инженерно-экономический
факультет
Пояснительная записка
к расчётной работе по курсу
«Объектно-ориентированное проектирование и программирование»
На тему:
«Информационная
система по учету автомобилей»
Выполнил:
Руководитель:
Минск 2011
СОДЕРЖАНИЕ
ВВЕДЕНИЕ…………………………………………………………
- Постановка задачи……………………………………………5
- Спецификация системы……………………………………..5
3. Структура входных и выходных данных………………………………….7
4. Диаграмма
классов…………………………..……………………………
5. Описание
классов………………………………...………………….
6. Алгоритмы по шагам и блок- схемы функций .…………………………13
7. Текст
программы………………………………………………………
8. Результаты
работы………………………………………………………...
ЗАКЛЮЧЕНИЕ……………………………………………………
Список использованной
литературы…………………………………………...
ВВЕДЕНИЕ
Язык С++ , появившийся в начале 80-х годов, не только универсален, как язык Си, но и является средством объектного программирования, новейшей методикой проектирования и реализации программ. Главной целью создателя языка, доктора Бьерна Страустрапа, было оснащение языка С++ конструкциями, позволяющими увеличить производительность труда программистов и облегчить процесс овладения большими программными продуктами.
Среди достоинств языка C++ можно выделить:
- C++ — чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов самого различного назначения.
- Поддерживаются различные стили и технологии программирования.
- Высокая совместимость с языком Си, позволяющая использовать весь существующий Си-код (код на Си может быть с минимальными переделками скомпилирован компилятором C++; библиотеки, написанные на Си, обычно могут быть вызваны из C++ непосредственно без каких-либо дополнительных затрат, в том числе и на уровне функций обратного вызова).
- С++ – удобный язык. Он достаточно структурирован, чтобы поддерживать хороший стиль программирования, и вместе с тем не связан жесткими ограничениями.
- В некотором смысле язык Си – самый универсальный, т.к. кроме набора средств, присущих современным языкам программирования высокого уровня (структурность, модульность, определенные типы данных), в него включены средства для программирования практически на уровне ассемблера. Большой набор операторов и средств требуют от программиста осторожности, аккуратности и хорошего знания языка со всеми иго преимуществами и недостатками.
- Предсказуемое выполнение программ является важным достоинством для построения систем реального времени.
- Пользовательские функции-операторы позволяют кратко и ёмко записывать выражения над пользовательскими типами в естественной алгебраической форме.
- Используя шаблоны, возможно создавать обобщённые контейнеры и алгоритмы для разных типов данных, а также специализировать и вычислять на этапе компиляции.
- Автоматический вызов деструкторов объектов при их уничтожении, причём в порядке, обратном вызову конструкторов. Это упрощает и делает более надёжным освобождение ресурсов.
- Эффективность. Язык спроектирован так, чтобы дать программисту максимальный контроль над всеми аспектами структуры и порядка исполнения программы. Ни одна из языковых возможностей, приводящая к дополнительным накладным расходам, не является обязательной для использования — при необходимости язык позволяет обеспечить максимальную эффективность программы.
Отвечая требованиям
современного программирования, C++ делает
акцент на разработке новых типов данных
наиболее полно соответствующих концепциям
выбранной области знаний и задачам приложения.
Класс является ключевым понятием C++. Описание
класса содержит описание данных, требующихся
для представления объектов этого типа
и набор операций для работы с подобными
объектами. Также классы обеспечивают
три самых важных свойства ООП: инкапсуляцию,
наследование и полиморфизм.
- ПОСТАНОВКА ЗАДАЧИ И ОБЗОР МЕТОДОВ
1.1 Задание
Необходимо
организовать Информационную систему
по учету автомобилей. Организовать автостоянки
по районам. Осуществлять поиск автомобилей
на конкретной автостоянке и по всем автостоянкам
по владельцу, по номеру автомобиля, по
маркам автомобиля. Добавление, удаление
автомобилей со стоянок. Данные хранить
в различных файлах. Разработать и использовать
в программе классы контейнеров и итераторов.
Производить обработку исключительных
ситуаций.
1.2
Постановка задачи
Необходимо реализовать
С точки зрения предметной
области, задачи, налагаемые на
систему, сводятся к следующим:
Таким образом, конечная
В связи с этим выделим возможности, реализованные в конечном программном продукте:
- добавление нового автомобиля в список с последующей записью его в файл;
- просмотр всех автомобилей, существующих на данный момент (загрузка из файла);
- удаление автомобилей из файла;
- Добавление новой автостоянки;
- Добавление нового района
- возможность поиска автомобилей , поиск осуществляется по марке машины, её модели или же по владельцу
- обеспечение удобного меню с подразделами;
- выявление ошибок обработки команд, показ информационных сообщений в случае ошибок.
1.3 Обзор методов
Для успешной реализации поставленных задач существует множество методов решения. Среди основных можно выделить:
- Создание программного продукта средствами Microsoft Visual C++ 8.0, используя объектно-ориентированную технологию и язык программирования С++;
- создание полноценной реляционной базы данных средствами Microsoft SQL Server 2005 и др.
Для данного
проекта выбираем созданию продукта
с использованием MS Visual C++ 8.0, т.к. эта
система наиболее полно подходит для реализации
поставленных задач. Конечный продукт
с некоторыми доработками может быть использован
сотрудниками автостоянок без какого-либо
обучения и специальной подготовки, в
то время как использование конечной
реализации в MS SQL Server требует дополнительных
знаний и навыков.
2 СТРУКТУРА ВХОДНЫХ И ВЫХОДНЫХ ДАННЫХ
2.1 Структура входных данных
Входная информация включает в себя данные о автостоянках и автомобилях. Входные данные вводятся с клавиатуры и затем сохранятся в файле.
Структура входных данных о районах включает:
class District // Класс района
{
private:
int id; // идентификатор
char name[30]; // название района
}
Структура входных данных об автостоянках включает:
class Parking // Класс автостоянки
{
private:
int id; // Идентификатор
int district_id; // Идентификатор района
}
Структура входных данных об автомобилях включает:
class Auto // Класс автомобиля
{
private:
int id; // идентификатор
int parking_id; // идентификатор автостоянки
int number; // номер машины
char owner[30]; // имя владельца
char brand[10]; // компания-производитель
char model[10]; // название модели
}
Выходная информация представляет
собой информацию о хранящихся
автомобилях, формируется с использованием
входной информации
- Диаграмма классов
4
ОПИСАНИЕ КЛАССОВ И
СТРУКТУР
В файле «classes.h»
находится описание классов данных о районах,
автостоянках и автомобилях (District, Parking,
Auto). Содержимое классов:
class District // Класс района
{
private:
int id; // идентификатор
char name[30]; // название района
public:
int getId() { return id; } // функции доступа
void setId(int Id) { id = Id; }
char* getName() { return name; }
void setName(char *Name) { strcpy(name, Name); }