Розробка інформаційно-навчальної системи на тему Правила дорожнього руху

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати


  1. ПОСТАНОВКА ЗАВДАННЯ

1.1 Мета розробки

Метою даної курсової роботи є створення інформаційно-навчальної системи за темою «ПДР». Програма повинна надавати користувачеві теоретичний матеріал з даної теми, а також містити систему тестування для оцінки рівня знань користувача в даній галузі науки.

1.2 Постановка завдання

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

1.3 Функціональні вимоги до навчальної системі

Навчальна система повинна забезпечити користувачеві простоту отримання інформації з предметної області. Для пошуку слова в тексті підручника повинна існувати система пошуку. Для зручності поводження з програмою повинна існувати статусний рядок, що є підказкою, і містить можливі комбінації клавіш у тому чи іншому випадку.

1.4 Вхідні дані

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

1.5 Вихідні дані

Вихідні дані є: результат тестування користувача, теоретичний матеріал з даної предметної області, результат пошуку за ключовим словом. Всі вихідні дані виводяться на екран монітора.

1.6 Схема інформаційних потоків

Існує головна програма. У неї надходять Вхідні дані, що вводяться користувачем з клавіатури (варіанти відповідей в тесті і слова для пошуку), а також із зовнішніх текстових файлів (теорія про ПДР). У відповідь на дані, що вводяться головна програма виводить на екран монітора Вихідні дані - теоретичний матеріал, довідку, результати пошуку та тестування. Схематично робота програми зображена на малюнку 1.6.







Малюнок 1.1 Схема інформаційних потоків.

2 ВИБІР МОВИ ПРОГРАМУВАННЯ

Сі - універсальна мова програмування. Він тісно пов'язаний із системою UNIX, так як був розроблений спеціально для цієї системи.

Мова програмування Сі забезпечує різноманітність типів даних. Базовими типами є літери, а також цілі і плаваючі числа різних розмірів. Крім того, є можливість отримувати цілу ієрархію виведених типів даних з покажчиків, масивів, структур та об'єднань. Вирази формуються з операторів і операндів. Будь-яке вираження, включаючи присвоювання і виклик функції, може бути інструкцією. Покажчики забезпечують машинно-незалежну адресну арифметику.

Сі відноситься до мов середнього рівня, оскільки в ньому керуючі структури мов високого рівня поєднуються із здатністю маніпулювати бітами, байтами і покажчиками (адресами). Таким чином, Сі надає програмісту можливість практично повністю управляти комп'ютером.

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

Мова Паскаль став «спадкоємцем» Алгола. Алгоритмічна мова Алгол був розроблений в 1950-60-х роках. Його розробником був швейцарський учений Ніклаус Вірт, який збирався використовувати цю мову для навчання своїх студентів методом розробки компілятором. Час народження мови Паскаль - початок 70-х років.

Але на практиці мова Сі показує себе більш зручним у використанні і гнучким.

Тому даний ПП написаний на мові C, компілятор Borland C + + 3.1

3 ФУНКЦІОНАЛЬНО-ЛОГІЧНА СХЕМА ПРОГРАМИ

Малюнок 3.1

Робота програми починається із завантаження головного меню програми. Він складається з рядка меню, статусного рядка, двох вікон виводу. Рядок меню складається з шести пунктів. Користувач вибирає потрібний йому пункт меню. Призначення пунктів рядка меню наступне:

  1. теорія - виводить на екран теоретичну інформацію з текстових файлів за правилами дорожнього руху;

  2. тест - запускає вікно для тестування знань користувача;

  3. пошук - запускає пошукову систему введеного користувачем з клавіатури слова;

  4. допомога - виводить на екран з текстового файлу довідку;

  5. про програму - виводить на екран коротку інформацію про програму та її автора;

  6. вихід - закінчує роботу алгоритму.

У меню «Теорія» можна вибрати основні глави правил дорожнього руху; програма видасть теоретичну інформацію.

У режимі тестування користувач відповідає на запитання, використовуючи цифрові клавіші (1, 2 або 3). Тестування завершується, коли користувач відповість на десять питань. Після завершення тестування виводиться інформація про результати тестування і оцінка, яку отримав користувач.

У режимі пошуку програма очікує введення слова або фрази, а потім робить пошук у текстових файлах, які містять теорію. Якщо слово чи фраза знайдена, програма повертається в режим перегляду теорії і виводить на екран теоретичний матеріал, починаючи з рядка, у якій є введене слово.

Перегляд меню «Довідка» аналогічний перегляду теоретичного матеріалу.

Меню «Про програму» виводить коротку інформацію про автора та програмі.

Меню «Вихід» виконує звільнення використовуваної пам'яті, закриття використовуваних файлів і завершення роботи алгоритму.

Схематично робота програми представлена ​​на малюнку 3.1.

4 КОМПЛЕКТ ПОСТАВКИ, ПОРЯДОК ІНСТАЛЯЦІЇ І ЗАПУСКУ

У комплект поставки ПП входить Ар SYSTEMX. RAR. При розпакуванні даного архіву в заданій користувачем директорії встановиться папка SYSTEMX містить:

- 7 текстових файлів з ​​теоретичної інформацією (1. Txt, 2. Txt, 3. Txt, 4. Txt, 5. Txt, 6. Txt, 10. Txt);

- Файл EGAVGA. BGI - графічні драйвера;

- Файл KEYRUS. COM - русифікатор;

- Файл START. BAT - пакетний файл MS - DOS запуску програми (запуск русифікатора, а потім самої програми);

- Файл PROEKT 2. EXE - файл запуску програми без русифікатора;

- Файл PROEKT 2. CPP - текстовий файл із вихідним кодом програми.

Для запуску програми необхідно запустити пакетний файл MS - DOS START. BAT. Даний файл запустить русифікатор (KEYRUS. COM), а потім саму програму. Ви можете також запустити русифікатор або саму програму (PROEKT. EXE) окремо, але при цьому правильне функціонування програми не гарантується. Також не рекомендується видаляти, переміщати або перейменовувати будь-які файли і папки директорії SYSTEMX. В іншому випадку правильне функціонування програми не гарантується.

5 ОПИС ПРОЦЕДУР І ФУНКЦІЙ

Структура взаємодії процедур і функцій представлена ​​в ієрархічному вигляді.

На самому верхньому рівні коштує процедура VOID MAIN (VOID) - ядро всієї програми, вона взаємодіє з усіма основними процедурами і функціями:

  1. функцію openf (), яка виводить теоретичний матеріал з файлу на екран;

  2. процедуру menu (...), за допомогою якої відбувається малювання меню теорії;

  3. процедуру TEST (), що реалізує тестування користувача;

  4. процедуру interfice (...), за допомогою якої відбувається малювання основного вікна програми.

5.1 Схема потоків даних

Схема потоків даних представлена ​​на малюнку 5.1.1.


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

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

ВИСНОВКИ

У результаті проведеної роботи було отримано ПП, який надає користувачеві інформацію про ручне вогнепальну зброю. Програма має зручний і інтуїтивно зрозумілий користувальницький інтерфейс, систему пошуку фрагмента тексту, довідкову систему і тестування користувача по десяти питань зазначеної теми.

Характерними плюсами даної програми є красиве оформлення, простота навігації по програмі, присутність рядки підказки, довідки та пошуку. Програма не вимагає великих ресурсів комп'ютера для повноцінної функціональності. Також зручно і те, що для установки програми необхідно просто запустити інсталяційний пакет, а потім розпакували пакетний файл. Також позитивною рисою програми є і те, що вона може працювати як під операційною системою MS - DOS (версії не нижче 5.22), так і під ОС MS Windows 95 і вище.

Однак у даного ПП є і свої мінуси. На сьогоднішній день, в порівнянні з іншими ПП, програма є досить примітивною, має всього лише 16-кольорову гаму проти 16 - і навіть 32-бітових кольорових гам більшості сучасних програм. Також даний ПП є дуже «вередливим» - будь-яке, навіть найменше, зміна в робочих файлах програми призведе до її повної або часткової нефункціональність.

СПИСОК ВИКОРИСТОВУЮТЬСЯ ДЖЕРЕЛ

1. С. Стівен Прата. Мова програмування / / Москва-Київ: 2002. - 837с.

2. Михайлов А. П., Дорожній П. Р. Правила дорожнього руху / / Київ: 2004. - 340С.

Додаток А

ТЕХНІЧНЕ ЗАВДАННЯ

А.1 Загальні відомості

Повна назва програмного продукту: «Довідково-інформаційна система. Правила дорожнього руху. Даний програмний продукт виконаний студентом 1-го курсу Донецького державного інституту штучного інтелекту (ДонДІШІ), факультету СКІТ, групи ІС-04б Клімовим В'ячеславом Олексійовичем.

Програма розробляється за завданням, виданим кафедрою поїсом.

Плановий термін початку роботи зі створення ПП: 11.02.2005, термін закінчення: 23.05.05.

Курсова робота повинна виконуватися згідно з графіком, наведеним у таблиці А.1

Таблиця А.1 - Стадії та етапи розробки ПП

Етапи розробки ПП

Терміни виконання

1. Постановка завдання

1-2

2. Складання технічного завдання

2-3

3. Технічне проектування. Розробка методу розв'язання задачі. Визначення структури програми, виділення модулів, організація їх взаємозв'язку

3-4

4. Розробка основних алгоритмів функціонування програми, складання специфікаційних модулів.

5

5. Робоче проектування. Визначення структур вхідних і вихідних даних, алгоритмів роботи модулів. Опис вхідних та вихідних даних

6-7

6. Написання програми

7-10

7. Налагодження і тестування програми

11

8. Написання пояснювальної записки

11-14

9. Захист курсового проекту

23 травня 2005

А.2 Призначення і цілі створення ПП

Даний ПП призначений для надання довідкової інформації про ПДР, з можливістю зробити пошук необхідного слова чи фрази, визначити рівень підготовки користувача за допомогою тестування; при цьому застосовується зручний і зрозумілий інтерфейс з довідкою з навігації і системою підказок.

А.3 Вимоги до програмного продукту

А.3.1 Вимоги до програмного продукту в цілому

У цілому до ПП пред'являються наступні вимоги:

а) контроль введених даних;

б) діалог з користувачем, реалізований за допомогою меню;

в) інтуїтивно зрозумілий інтерфейс;

г) організація тестування;

д) надання довідкового матеріалу;

е) зберігання довідкового матеріалу в файлі на диску;

А.3.2 Вимоги до завдань і функцій, виконуваних програмою

У процесі роботи необхідно забезпечити виконання таких функцій:

а) виведення тексту на екран;

б) скролінг тексту;

в) пошук фрагмента тексту;

г) надання довідки по даній темі і по навігації в програмі.

А.3.3 Вимоги до видів забезпечення

А.3.3.1 Вимоги до технічного забезпечення

Для коректної роботи програми необхідна наявність комп'ютера з наступною конфігурацією:

  • відеокарта з підтримкою режиму 640 x 480, 16 кольорів;

  • процесор 80386 і вище;

  • VGA монітор;

  • 1Mb оперативної пам'яті;

  • клавіатура;

- Дисковод гнучких дисків.

А.3.3.2 Вимоги до програмного забезпечення

Даний ПП реалізований для ОС MS-DOS версії не нижче 5.22.

А.3.3.3 Вимоги до організаційного забезпечення

У програмну документацію повинні входити:

  1. пояснювальна записка;

  2. програми:

а) технічне завдання;

б) керівництво користувача;

в) екранні форми;

г) лістинг програми.

Додаток Б

КЕРІВНИЦТВО КОРИСТУВАЧА

Щоб встановити програму, необхідно запустити Ар system. Rar, вказати адресу інсталяції програми, потім, щоб запустити програму, необхідно запустити файл system \ start. Bat. Після запуску програми на екрані з'явиться головне вікно програми (див. Форма 1).

При виборі кнопки «Меню» відкриється підменю з підтемами (див. Форма 2). При виборі однієї з підтем в головне вікно виведення виведеться теоретична інформація з обраної теми (див. Форма 3). Повернутися в підменю з підтемами можна, натиснувши клавішу Esc.

Друге меню - «Тест». При виборі цього меню з'являється віконце з першим питанням тесту (див. Форма 4). Тепер необхідно відповісти на 10 запитань. Вийти з тіста можна, натиснувши клавішу Esc при виводі результату тестування.

Меню - «Допомога». При натисканні клавіші Enter у головне вікно виведення буде виведена довідкова інформація про навігацію по програмі (див. Форма 5). Вийти з меню допомоги в головне меню - Esc.

П'яте, меню - «Про програму». Виводиться віконце з короткою інформацією про програму та її автора (див. Форма 6). Вийти у головне меню - Esc.

І, нарешті, останнє меню - «Вихід». При натисненні Enter програма закінчить свою роботу.

Додаток В

ЕКРАННІ ФОРМИ

Форма 1-Головне вікно

Форма 2 - Меню

Форма 3 - Теорія

Форма 4 - Тести

Форма 5 - Допомога

Форма 6 - Про програму

Додаток В

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

# Include <stdio.h>

# Include <conio.h>

# Include <graphics.h>

# Include <alloc.h>

# Include <dos.h>

# Include <string.h>

# Include <stdlib.h>

int a, b, d = 0, i, k = 0, l = 0, x = 0, z = 0, p = 1, r = 0;

int mode = VGAHI;

int driver = VGA;

FILE * in;

char ch, cd [50], * str, c, s, cf [50], cb;

void * buf, * buf1, * buf2;

openf (char s [20])

{

setfillstyle (SOLID_FILL, 0);

bar (23,445,615,470);

setcolor (4);

outtextxy (25,450, "Прокручування тексту посторінково клавішами <page up>, <page down>");

outtextxy (25,460, "Прокручування тексту порядково клавішами <вгору>, <вниз>");

putimage (23,43, buf, 0);

setcolor (15);

line (23,43,112,43);

z = 0;

k = 0;

in = fopen (s, "r");

do

{

setviewport (24,61,412,435,0);

rewind (in);

while (fgets (cd, 47, in)! = NULL)

{

a = strlen (cd);

if (cd [a-1] == '\ n')

cd [a-1] = '';

if (k> z)

{

setcolor (7);

outtextxy (15,10 + x, cd);

x + = 10;

}

k + +;

if (k> 35 + z)

break;

}

ch = getch ();

if (ch! = 27)

ch = getch ();

if (ch == 80)

{Z + +;}

if (ch == 72)

{Z -;}

if (ch == 81)

{Z + = 35;}

if (ch == 73)

{Z-= 35;}

if (z <0)

z = 0;

k = 0;

x = 0;

clearviewport ();

} While (ch! = 27);

setviewport (0,0,639,479,0);

fclose (in);

setfillstyle (SOLID_FILL, 0);

bar (23,445,615,470);

setcolor (4);

outtextxy (25,450, "Переміщення по меню кнопками <вліво", "вправо>; вибір меню клавішею <enter>");

outtextxy (25,460, "Вихід з меню - <esc>;");

return (0);

}

test ()

{

setfillstyle (SOLID_FILL, 7);

bar (56,101,380,395);

setcolor (15);

line (55,100,55,396);

line (55,100,381,100);

line (377,130,377,391);

line (60,391,377,391);

setcolor (8);

line (55,396,381,396);

line (381,100,381,396);

line (60,130,60,391);

line (60,130,377,130);

setfillstyle (SOLID_FILL, 0);

bar (61,131,376,390);

while (a! = 27)

{

if ((p == 1) & & (a == 51)) r + +;

if ((p == 2) & & (a == 49)) r + +;

if ((p == 3) & & (a == 49)) r + +;

if ((p == 4) & & (a == 51)) r + +;

if ((p == 5) & & (a == 50)) r + +;

if ((p == 6) & & (a == 50)) r + +;

if ((p == 7) & & (a == 49)) r + +;

if ((p == 8) & & (a == 51)) r + +;

if ((p == 9) & & (a == 50)) r + +;

if ((p == 10) & & (a == 50)) r + +;

if ((a == 49) | | (a == 50) | | (a == 51)) p + +;

setfillstyle (SOLID_FILL, 0);

bar (61,131,376,390);

setfillstyle (SOLID_FILL, 7);

bar (56,101,380,129);

setcolor (4);

if (p == 1)

{

outtextxy (150,110, "Питання номер 1 ");

outtextxy (65,140, ​​"Назвіть перша дія при посадці");

outtextxy (65,150, "в автомобіль?");

outtextxy (65,170, "1. прийняти зручне положення;");

outtextxy (65,180, "2. включити зчеплення;");

outtextxy (65,190, "3. застебнуть ремені безпеки;");

}

if (p == 2)

{

outtextxy (150,110, "Питання номер 2");

outtextxy (65,140, ​​"Яка найбільш загальна причина аварій?");

outtextxy (65,170, "1. помилка водія;");

outtextxy (65,180, "2. наркотики;");

outtextxy (65,190, "3. аварій не буває;");

}

if (p == 3)

{

outtextxy (150,110, "Питання номер 3");

outtextxy (65,140, ​​"Ця передача нормальна для водіння");

outtextxy (65,150, "в місті і на шосе?");

outtextxy (65,170, "1. водіння [d ];");

outtextxy (65,180, "2. нейтарльная [n ];");

outtextxy (65,190, "3. парковка [p ];");

}

if (p == 4)

{

outtextxy (150,110, "Питання номер 4");

outtextxy (65,140, ​​"Ця передача використовується для");

outtextxy (65,150, "руху задом.");

outtextxy (65,170, "1. водіння [d ];");

outtextxy (65,180, "2. парковка [p ];");

outtextxy (65,190, "3. зворотна [r ];");

}

if (p == 5)

{

outtextxy (150,110, "Питання номер 5");

outtextxy (65,140, ​​"Для управління автомобілем завжди");

outtextxy (65,150, "майте з собою ...");

outtextxy (65,170, "1. аптечку;");

outtextxy (65,180, "2. посвідчення;");

outtextxy (65,190, "3. запаску");

}

if (p == 6)

{

outtextxy (150,110, "Питання номер 6");

outtextxy (65,140, ​​"В яких місцях заборонена стоянка?");

outtextxy (65,170, "1. на узбіччі;");

outtextxy (65,180, "2. на мостах;");

outtextxy (65,190, "3. на стоянці;");

}

if (p == 7)

{

outtextxy (150,110, "Питання номер 7");

outtextxy (65,140, ​​"Коли потрібно зупинятися перед");

outtextxy (65,150, "залізничними шляхами?");

outtextxy (65,170, "1. завжди;");

outtextxy (65,180, "2. якщо є дорожні знаки;");

outtextxy (65,190, "3. на розсуд водія;");

}

if (p == 8)

{

outtextxy (150,110, "Питання номер 8");

outtextxy (65,140, ​​"Як правильно виїжджати на");

outtextxy (65,150, "автостраду?");

outtextxy (65,170, "1. ви повинні сповільнитися;");

outtextxy (65,180, "2. вам повинні дати дорогу;");

outtextxy (65,190, "3. ви повинні поступитися дорогу;");

}

if (p == 9)

{

outtextxy (150,110, "Питання номер 9");

outtextxy (65,140, ​​"На дорозі повністю покритою снігом,");

outtextxy (65,150, "що забезпечує найкращу тягу?");

outtextxy (65,170, "1. дощові покришки;");

outtextxy (65,180, "2. покришки із залізними ланцюгами;");

outtextxy (65,190, "3. лисі покришки;");

}

if (p == 10)

{

outtextxy (150,110, "Питання номер 10");

outtextxy (65,140, ​​"Ваш автомобіль рухається швидше ...");

outtextxy (65,170, "1. на підйомі;");

outtextxy (65,180, "2. на спуску;");

outtextxy (65,190, "3. на повороті;");

}

if (p == 11)

{

p = 0;

outtextxy (170,110, "Результат");

if (r <5)

{

outtextxy (65,170, "Дуже погано !!!");

r = 0;

}

if ((r <8) & & (r> 5))

{

outtextxy (65,170, "Добре !!!");

r = 0;

}

if ((r <10) & & (r> 8))

{

outtextxy (65,170, "Здорово !!!");

r = 0;

}

if (r == 10)

{R = 0;

outtextxy (65,170, "Дуже добре, Ви пройшли тест !!!");

a = getch ();

return (0);

}

}

a = getch ();

}

return (0);

}

menu ()

{Do

{

setfillstyle (SOLID_FILL, 7);

setcolor (8);

line (23,43,23,254);

line (23,43,112,43);

setcolor (15);

line (112,43,112,254);

line (23,254,112,254);

bar (24,44,111,253);

for (i = 0; i <= 150; i + = 30)

{

setcolor (15);

line (24,44,111,44);

line (30,74 + i, 100,74 + i);

setcolor (8);

line (30,73 + i, 100,73 + i);

}

setcolor (8);

outtextxy (38,54, "Глава 1");

outtextxy (38,84, "Глава 2");

outtextxy (38,114, "Глава 3");

outtextxy (38,144, "Глава 4");

outtextxy (38,174, "Глава 5");

outtextxy (38,204, "Глава 6");

outtextxy (30,234, "Доповнення");

b = getch ();

if ((b == 80) | | (b == 72))

{

if (b == 80) k + +;

if (b == 72) k -;

if (k> 7) k = 1;

if (k <1) k = 7;

if ((k == 1))

{

setcolor (4);

outtextxy (38,54, "Глава 1");

b = getch ();

if (b == 13)

{

openf ("e: \ \ 1 \ \ 1.txt");

}

}

if ((k == 2))

{

setcolor (4);

outtextxy (38,84, "Глава 2");

b = getch ();

if (b == 13)

{

openf ("e: \ \ 1 \ \ 2.txt");

}

}

if ((k == 3))

{

setcolor (4);

outtextxy (38,114, "Глава 3");

b = getch ();

if (b == 13)

{

openf ("e: \ \ 1 \ \ 3.txt");

}

}

if ((k == 4))

{

setcolor (4);

outtextxy (38,144, "Глава 4");

b = getch ();

if (b == 13)

{

openf ("e: \ \ 1 \ \ 4.txt");

}

}

if ((k == 5))

{

setcolor (4);

outtextxy (38,174, "Глава 5");

b = getch ();

if (b == 13)

{

openf ("e: \ \ 1 \ \ 5.txt");

}

}

if ((k == 6))

{

setcolor (4);

outtextxy (38,204, "Глава 6");

b = getch ();

if (b == 13)

{

openf ("e: \ \ 1 \ \ 6.txt");

}

}

if ((k == 7))

{

setcolor (4);

outtextxy (30,234, "Доповнення");

b = getch ();

if (b == 13)

{

openf ("e: \ \ 1 \ \ 10.txt");

}

}

}

} While (b! = 27);

return (0);

}

interfice (void)

{

setfillstyle (SOLID_FILL, 7);

setcolor (15);

line (0,0,0,479);

line (0,0,639,0);

setcolor (8);

line (639,0,639,479);

line (0,479,639,479);

bar (1,1,638,478);

setfillstyle (SOLID_FILL, 16);

bar (24,61,413,436);

setcolor (8);

line (23,60,23,438);

line (23,60,414,60);

setcolor (15);

line (414,60,414,438);

line (23,438,413,438);

bar (425,61,614,436);

setcolor (8);

line (424,60,424,438);

line (424,60,615,60);

setcolor (15);

line (615,60,615,438);

line (424,438,615,438);

bar (23,445,615,470);

setcolor (8);

line (23,445,23,470);

line (23,445,615,445);

setcolor (15);

line (615,445,615,470);

line (23,470,615,470);

setcolor (12);

outtextxy (25,450, "Переміщення по меню кнопками <вліво", "вправо>; вибір меню клавішею <enter>");

outtextxy (25,460, "Вихід з меню - <esc>;");

buf = malloc (imagesize (23,43,113,254));

getimage (23,43,113,254, buf);

buf1 = malloc (imagesize (100,130,340,350));

getimage (100,130,340,350, buf1);

buf2 = malloc (imagesize (24,15,612,43));

getimage (24,15,612,43, buf2);

do

{

setcolor (11);

for (i = 0; i <6; i + +)

{

setfillstyle (SOLID_FILL, 7);

bar (24 + i * 100,15,112 + i * 100,43);

setcolor (15);

line (23 + i * 100,14,23 + i * 100,44);

line (23 + i * 100,14,112 + i * 100,14);

setcolor (8);

line (23 + i * 100,44,112 + i * 100,44);

line (112 + i * 100,14,112 + i * 100,44);

}

setcolor (4);

outtextxy (48,25, "МЕНЮ");

outtextxy (145,25, "ТЕСТИ");

outtextxy (245,25, "ПОШУК");

outtextxy (346,25, "ДОПОМОГА");

outtextxy (425,25, "Про ПРОГРАМІ ");

outtextxy (550,25, "ВИХІД");

a = getch ();

if ((a == 77) | | (a == 75))

{

if (a == 77) d + +;

if (a == 75) d -;

if (d> 6) d = 1;

if (d <1) d = 6;

if (d == 1)

{

setcolor (8);

line (23,14,23,44);

line (23,14,112,14);

setcolor (15);

line (23,44,112,44);

line (112,14,112,44);

a = getch ();

if (a == 13)

{

menu ();

}

putimage (23,43, buf, 0);

}

if ((d == 2))

{

setcolor (8);

line (123,14,123,44);

line (123,14,212,14);

setcolor (15);

line (123,44,212,44);

line (212,14,212,44);

a = getch ();

if (a == 13)

{

test ();

}

setfillstyle (SOLID_FILL, 0);

bar (55,100,381,396);

}

if ((d == 3))

{

setcolor (8);

line (223,14,223,44);

line (223,14,312,14);

setcolor (15);

line (223,44,312,44);

line (312,14,312,44);

a = getch ();

}

if ((d == 4))

{

setcolor (8);

line (323,14,323,44);

line (323,14,412,14);

setcolor (15);

line (323,44,412,44);

line (412,14,412,44);

a = getch ();

}

if ((d == 5))

{

setcolor (8);

line (423,14,423,44);

line (423,14,512,14);

setcolor (15);

line (423,44,512,44);

line (512,14,512,44);

a = getch ();

if (a == 13)

{

setcolor (7);

rectangle (100,130,340,350);

outtextxy (110,140, ​​"Правила дорожнього руху");

outtextxy (110,150, "(електронний підручник)");

setcolor (4);

outtextxy (100,180, "Даний програмний продукт");

outtextxy (100,190, "захищений законом");

outtextxy (100,200, "про авторські права!");

setcolor (7);

outtextxy (110,260, "Виконав ст. гр. ІС-04б");

outtextxy (110,270, "Клімов В'ячеслав Олексійович");

a = getch ();

}

putimage (100,130, buf1, 0);

}

if ((d == 6))

{

setcolor (8);

line (523,14,523,44);

line (523,14,612,14);

setcolor (15);

line (523,44,612,44);

line (612,14,612,44);

a = getch ();

}

}

} While ((a! = 13) | | (d! = 6));

free (buf);

free (buf1);

free (buf2);

return 0;

}

void main (void)

{

initgraph (& driver, & mode, "e: \ \ bc31 \ \ bin");

interfice ();

closegraph ();

}


Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
123.5кб. | скачати


Схожі роботи:
Розробка інформаційно-навчальної системи на тему Атомно-молекулярна теорія Доказ
Правила дорожнього руху
Розробка об`єктно-орієнтованої моделі інформаційної системи навчальної бібліотеки
Розробка інформаційно довідкової системи Пристрій персонального комп`ютера
Розробка інформаційно-довідкової системи Пристрій персонального комп`ютера
Розробка інформаційно довідкової системи з обліку вагонів на під`їзній колії підприємства
Безпека дорожнього руху 2
Безпека дорожнього руху
Безпека дорожнього руху
© Усі права захищені
написати до нас