Смекни!
smekni.com

Розробка програми для демонстрації автомобільного руху через залізнодорожний переїзд (стр. 3 из 4)

– Вмонтована звукова карта;

– Windows МЕабо XP.

Опис функцій.

Основне призначення програми _-=Мій Курсовий Проект=-_ наглядно показати регулювання автомобільного руху через залізнодорожній переїзд, при використанні шлагбауму. Для перевірки працездатності програми потрібно скористатись інструкцією системного програміста.

3.2 Інструкція системного програміста

Загальні відомості про програму.

Основне призначення програми _-=Мій Курсовий Проект=-_ наглядно показати регулювання автомобільного руху через залізнодорожній переїзд, при використанні шлагбауму.

Структура програми.

Для початку роботи необхідно дану програму скопіювати на комп’ютер в окрему папку. Сама програма складається одного файлу (рис. 3.1):

– My_Kursach.exe – завантажувальний файл програми.

Рисунок 3.1 – Вигляд компонентів програми

Програма використовує 8024 Кбайт оперативної пам’яті.

Займає 5 885 952 байт пам’яті на жорсткому диску.

Перевірка програми.

Для того, щоб перевірити правильність роботи шлагбауму по регулюванню дорожнього руху потрібно виконати таку послідовність дій:

1. Виконати таку послідовність дій «Керування Шлагбаумом» ­-­>«Опустити Шлагбаум»

2. Натиснути лівою кнопкою миші на пункт меню “Старт поїзда”

3. ДТП не повинне виникнути.

4. Виконати таку послідовність дій «Керування Шлагбаумом» ­-­>«Підняти Шлагбаум»

5. Натиснути лівою кнопкою миші на пункт меню “Старт поїзда”

6. ДТП повинне виникнути в залежності від випадку, якщо ж таки автомобілю «повезе» проскочити перед поїздом, тоді пункт №5 повторити ще раз.

Якщо під час виконання усіх шести пунктів все пройшло так як пояснювалось у пункті №3 (ДТП не відбулось, хіба що шлагбаум був закритий запізно) і №6 (ДТП відбулось, при відкритому шлагбаумі) – програма правильно виконує свою роботу.

3.3 Інструкція програміста

Призначення і умови застосування програми.

Основне призначення програми _-=Мій Курсовий Проект=-_ наглядно показати регулювання автомобільного руху через залізнодорожній переїзд, при використанні шлагбауму.

Програма використовує 8024 Кбайт оперативної пам’яті.

Займає 5 885 952 байт пам’яті на жорсткому диску.

Характеристика програми.

Режим роботи визначається пунктами меню. (детальніше в інструкціях оператора). При наявності помилок в роботі шлагбауму закрити вікно додатку і перезавантажити програму. Якщо помилка не виправилась потрібно переустановити програмний продукт.

Звернення до програми.

Повний лістинг програми наведений в додатку. Робота окремих модулів наведена в другому розділі. Для внесення будь-яких в роботі програми необхідно відкоригувати потрібний код програми та виконати компіляцію.


3.4 Інструкція оператора

Призначення програми.

Основне призначення програми _-=Мій Курсовий Проект=-_ наглядно показати регулювання автомобільного руху через залізнодорожній переїзд, при використанні шлагбауму.

Умови виконання програми.

Програма буде працювати при складі апаратних і програмних засобів, які вказані в інструкціях з технічного обслуговування.

Виконання програми.

Для правильного функціонування даного програмного продукту ці файли повинні міститись в одній папці, бажано окремій (рис. 3.2):

Рисунок 3.2 – Вигляд папка з проектом

Для запуску програми треба запустити на виконання My_Kursаch.exe Після чого відбувається відкриття головного вікна програми (рис. 3.3).

Рисунок 3.3 – Загальний вигляд вікна

Якщо ви звернете увагу на самий низ вікна, ви побачите стрічку стану. При появі вікна, у ньому зразу буде рухатись автомобіль (рис 3.4).

Рисунок 3.4 – Загальний вигляд вікна з автомобілем

Натиснувши пункт меню «Старт поїзда» – почне рухатись поїзд(рис 3.5).

Рисунок 3.5 – Загальний вигляд вікна з автомобілем та потягом

Завдяки курсору миші користувач може маніпулювати рухом автомобіля і запускати рух поїзда. Керування автомобілем та запуск поїзда здійснюється завдяки натисканню лівої кнопки миші на пункті меню «Керування шлагбаумом»  «Підняти шлагбаум» чи  «Опустити шлагбаум», запустити потяг - «Старт поїзда», або за допомогою гарячих клавіш: Ctrl+W – Керування шлагбаумом, Ctrl+S – Старт поїзда (рис 3.6).

Рисунок 3.6 – Керування шлагбаумом та Старт поїзда

Рисунок 3.7 – Вигляд опущеного шлагбауму та поїзда в русі

Скориставшись меню Допомога (рис 3.8) отримаємо допомогу як керувати шлагбаумом та Запускати поїзд.

Рисунок 3.8 – Вигляд діалогового вікна “Допомога”

Для отримання відомостей про розробника програми використовуємо клавішу – акселератор Ctrl+I – це є пункт меню Інфо (рис 3.9).

Рисунок 3.9 – Вигляд діалогового вікна “Автор”

Для отримання відомостей про завдання роботи використовуємо пункт меню «Сервіс» «Завдання Курсової» (рис 3.10).

Рисунок 3.10 – Вигляд діалогового вікна “Завдання”

Для виходу з програми використовуємо «Вихід» або комбінацію клавіш Ctrl + E – для швидкого доступу до даного пункту меню (рис 3.11).

Рисунок 3.14 – Вигляд вікна повідомлення при виході з програми

При невірному виконанні роботи програми чи виникненні певних проблем у користуванні звертатися до розробника програмного продукту.


Висновки

В даній курсовій роботі було розроблено та реалізовано за допомогою мови програмування VС++ програмний продукт для демонстрації регулювання автомобільного руху через залізнодорожній переїзд з використанням шлагбауму.

При програмній реалізації були використані всі основні принципи об’єктно-орієнтованого програмування, тобто абстракція, наслідування, поліморфізм та інкапсуляція, оскільки мова програмування VС++ базується саме на цих принципах. Значною перевагою мови програмування VС++ відносно мов програмування, заснованих на принципах структурного та процедурного програмування, є те, що вона дозволяє правильно користуватись вже розробленими раніше функціями, об’єктами даних, не знаючи їх опису і об’яви. Це значно спрощує процес програмування і підвищує можливості даної мови. Так розробка ресурсів і використання стандартних панелей та елементів керування системи Windows в даній курсовій роботі відбувалося без знання, яким саме чином написані функції, які використовуються. Головне – це той результат, який повертає та чи інша функція.

Головним недоліком об’єктно-орієнтованого програмування є те, що проблема реалізації рішення тієї чи іншої задачі, полягає у проблемі пошуку потрібної функції, та інформації щодо її використання. Але пошук даної функції може зайняти навіть більше часу, ніж написання її аналогу програмістом. Крім того через незнання елементарних функцій, таких як АРІ-функції робить написання цього аналогу неможливим.

Отже мова програмування С++, як і інші мови, засновані на принципі об’єктно-орієнтованого програмування, не є досконалою, проте вона набагато більше відкрита для удосконалення, ніж мови, що засновані на інших принципах програмування. Тому вже зараз вона вважається найкращою для написання комерційних програм зі зручним інтерфейсом.

Перелік використаних джерел

1. Поляков А. Ю., Брусенцев В. А. Методы и алгоритмы компьютерной графики в примерах на Visual C++, 2-е изд., перераб. и доп. – СПб.: БХВ-Петербург, 2003. – 560 с.

2. Либерти Джесс. Освой самостоятельно С++ за 21 день, 4-е издание. : Пер. с англ. – М. : Издательский дом "Вильямс", 2003. – 832 с.

3. Глушаков С. В., Коваль А. В., Черепкин С. А. Програмирование на Visual C++ 6.0, Харьков: Фолио, 2002. – 726 с.

4. Семеренко В. П. Програмування мовами С та С++ в середовищі Windows. Навчальний посібник. – Вінниці: УНІВЕРСУМ – Вінниця, 2003. – 128 с.

5. Холзнер С. Visual C++ 6.: Учебный курс-СПб.: Питер, 2001. – 576 с.

6. Ганеев. Р. М. Проектирование интерфейса пользователя средствами Win32 API. .: Питер, 2001. – 350 с.

7. Конспект лекцій з дисципліни ,,Програмування’’ за перший та другий курси.

8. Павловская Т.А.. С/С++. Программирование на языке высокого уровня – СПб. : Питер, 2004. – 461 с.

9. Методичка.


Додаток

Лістинг програми

#include <windows.h>

#include <math.h>

#include <stdlib.h>

#include <stdio.h>

#include <commctrl.h>

#include "resource.h"

#define ID_STATUS 200

/* Прототипыфункций */

BOOL RegClass(WNDPROC,LPCSTR,UINT,UINT,UINT,UINT);

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);

BOOL CALLBACK DlgProg(HWND, UINT, WPARAM, LPARAM);

BOOL CALLBACK DlgProg2(HWND, UINT, WPARAM, LPARAM);

BOOL CALLBACK DlgProg3(HWND, UINT, WPARAM, LPARAM);

BOOL CALLBACK DlgProg4(HWND, UINT, WPARAM, LPARAM);

HACCEL CreateAccelTable(void);

void DrawTransparentBitmap(HDC, HBITMAP, short,short, COLORREF);

HINSTANCE hInstance;

char szMainClass[]="Головнийклас";

char szTitle[]="_-=Мій Курсовий Проект=-_";

int X=-400, Y;

int X2=450, Y2=800;

int X3=460, Y3=120;

int Speed=50;

int par=0;

int car=0;

int shlagbaym=0, w=0;

int wham=0;

static TBBUTTON but[4];

HACCEL CreateAccelTable(void)

{ //Масивакселераторов

ACCEL Accel[4];

// Старт

Accel[0].fVirt=FVIRTKEY|FCONTROL;

Accel[0].key=0x53;//"S"

Accel[0].cmd=IDM_START;

//Шлагбаум

Accel[1].fVirt=FVIRTKEY|FCONTROL;

Accel[1].key=0x57;// "W"

Accel[1].cmd=IDM_EDIT;