Информационная система по учету автомобилей

Автор: Пользователь скрыл имя, 05 Декабря 2011 в 16:04, курсовая работа

Описание работы

Язык С++ , появившийся в начале 80-х годов, не только универсален, как язык Си, но и является средством объектного программирования, новейшей методикой проектирования и реализации программ. Главной целью создателя языка, доктора Бьерна Страустрапа, было оснащение языка С++ конструкциями, позволяющими увеличить производительность труда программистов и облегчить процесс овладения большими программными продуктами.

Содержание

ВВЕДЕНИЕ……………………………………………………………3
Постановка задачи……………………………………………5
Спецификация системы……………………………………..5
3. Структура входных и выходных данных………………………………….7
4. Диаграмма классов…………………………..……………………………..8
5. Описание классов………………………………...…………………..…....10
6. Алгоритмы по шагам и блок- схемы функций .…………………………13
7. Текст программы…………………………………………………………..15
8. Результаты работы………………………………………………………...34
ЗАКЛЮЧЕНИЕ………………………………………………………………….35
Список использованной литературы…………………………………………...36

Работа содержит 1 файл

ОтчётБадеев.doc

— 367.50 Кб (Скачать)

Министерство  образования Республики Беларусь

Учреждение  образования

 «Белорусский  государственный 

университет информатики и радиоэлектроники» 
 

Кафедра экономической информатики

Инженерно-экономический  факультет 
 
 
 
 
 

Пояснительная записка 

к расчётной  работе по курсу

«Объектно-ориентированное  проектирование и программирование»

На тему:

«Информационная система по учету автомобилей» 
 
 
 
 
 
 

Выполнил:                                                                                   А.А. Бадеев

Руководитель:                                                                              А.М. Ковальчук 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Минск 2011 

СОДЕРЖАНИЕ

ВВЕДЕНИЕ……………………………………………………………3

  1. Постановка задачи……………………………………………5
  2. Спецификация системы……………………………………..5

   3. Структура  входных и выходных данных………………………………….7

   4. Диаграмма  классов…………………………..……………………………..8

   5. Описание  классов………………………………...…………………..…....10

   6. Алгоритмы  по шагам и блок- схемы функций  .…………………………13

   7. Текст  программы…………………………………………………………..15

   8. Результаты  работы………………………………………………………...34

ЗАКЛЮЧЕНИЕ………………………………………………………………….35

Список использованной литературы…………………………………………...36 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ВВЕДЕНИЕ

      Язык С++ , появившийся  в начале 80-х годов,  не только универсален,  как язык Си, но и является  средством объектного программирования, новейшей методикой проектирования и реализации программ. Главной целью создателя языка, доктора Бьерна Страустрапа, было оснащение языка С++ конструкциями, позволяющими увеличить производительность труда программистов и облегчить процесс овладения большими программными продуктами.

    Среди достоинств языка C++ можно выделить:

    • C++ — чрезвычайно мощный язык, содержащий средства создания эффективных        программ практически любого назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов самого различного назначения.
    • Поддерживаются различные стили и технологии программирования.
    • Высокая совместимость с языком Си, позволяющая использовать весь существующий Си-код (код на Си может быть с минимальными переделками скомпилирован компилятором C++; библиотеки, написанные на Си, обычно могут быть вызваны из C++ непосредственно без каких-либо дополнительных затрат, в том числе и на уровне функций обратного вызова).
    • С++ – удобный язык. Он достаточно структурирован, чтобы поддерживать хороший стиль программирования, и вместе с тем не связан жесткими ограничениями.
    • В некотором смысле язык Си – самый универсальный, т.к. кроме набора средств, присущих современным языкам программирования высокого уровня (структурность, модульность, определенные типы данных), в него включены средства для программирования практически на уровне ассемблера. Большой набор операторов и средств требуют от программиста осторожности, аккуратности и хорошего знания языка со всеми иго преимуществами и недостатками.
    • Предсказуемое выполнение программ является важным достоинством для построения систем реального времени.
    • Пользовательские функции-операторы позволяют кратко и ёмко записывать выражения над пользовательскими типами в естественной алгебраической форме.
    • Используя шаблоны, возможно создавать обобщённые контейнеры и алгоритмы для разных типов данных, а также специализировать и вычислять на этапе компиляции.
    • Автоматический вызов деструкторов объектов при их уничтожении, причём в порядке, обратном вызову конструкторов. Это упрощает  и делает более надёжным освобождение ресурсов.
    • Эффективность. Язык спроектирован так, чтобы дать программисту максимальный контроль над всеми аспектами структуры и порядка исполнения программы. Ни одна из языковых возможностей, приводящая к дополнительным накладным расходам, не является обязательной для использования — при необходимости язык позволяет обеспечить максимальную эффективность программы.
 

Отвечая требованиям  современного программирования, C++ делает акцент на разработке новых типов данных наиболее полно соответствующих концепциям выбранной области знаний и задачам приложения. Класс является ключевым понятием C++. Описание класса содержит описание данных, требующихся для представления объектов этого типа и набор операций для работы с подобными объектами. Также классы обеспечивают три самых важных свойства ООП: инкапсуляцию, наследование и полиморфизм. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  1. ПОСТАНОВКА  ЗАДАЧИ И ОБЗОР  МЕТОДОВ
 

     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]; //  название модели

    }

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

    1.   Диаграмма классов

     
     
     
     
     
     
     

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); }

Информация о работе Информационная система по учету автомобилей