Смекни!
smekni.com

Інформаційно-довідкова система (стр. 2 из 3)

void sort_list(int vub)- функція для сортування листів записів яка буде записана у меню

Функції файлу kyrsova.cpp

void new_window(int vub) - функція, яка створює потрібний файл

void open_list() - функція для відкриття файлу

void main_menu() - функція для побудови меню.

void main() - основна функція, через яку взаємодіють усі інші функції.

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

4.5 Вхідні та вихідні дані

Вхідними даними у даній програмі є меню и сортування.

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

4.6 Програмні засоби

Бажано мати середовище Borland C++ 3.1 або Turbo C. А також встановлену операційну систему Windows. На іших ОС дана програма не тестувалася.

Програма повинна працювати у вікні MS-DOS під керуванням Windows.

Або запускатися з самого середовища.

Для роботи програми необхідна ОС: DOS, Windows 1,2,3; Windows 95/98/ME; Windows 2000; Windows XP;

Для компілювання проекту необхідний компілятор Borland С (C++), бібліотечні функції: stdio.h, conio.h, math.h.,, stdlib.h,.

4.7 Технічні засоби

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

5.Технологія програмування, виконання та відлагодження програми

5.1 Технологія програмування програми

Використання моделі у розробці та вирішенні складних задач є одним з найважливіших методів. Модель – це заміщувач об’єкту дослідження, що знаходиться з ним у такій відповідності, яка дозволяє отримати нове значення про об’єкт.

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

5.2 Технологія виконання програми

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

Ё Опис всіх графічних примітивів;

Ё Створення зображення головного меню.

Ё Створення зображення курсора

Ё Визначення місця розташування об'єкта;

Ё Створення файлу

Ё Забезпечення руху курсора

Ё Забезпечення виконання базами даних формування, читання, редагування, сортування та пошук інформації за заданим ключем

Ё Створення програмного меню;

Ё Забезпечення керування програмою за допомогою клавіатури.

5.3 Технологія відлагодження програми

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

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

6. Інструкція користувачеві

Інтерфейс програми реалізований у графічному режимі з використанням функцій заголовочного файлу include<string.h>. Інтерфейс є зручним у користуванні і не потребує значних ресурсів комп’ютера для роботи у ньому.

Керування програмою здійснюється повністю за допомогою клавіатури.

Є два способи по запуску програми на виконання:

1) Запуск через середовище програмування

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

Певною незручністю є те, що не всі можуть мати саме середовище програмування чи компілятор. Для запуску програми потрібно мати щонайменше середовище Borland C++ 3.1. На попередніх версіях програма не тестувалася.

Щоб запустити програму на виконання із середовища програмування потрібно натиснути клавіші <Ctrl>+F9. Або здійснити таку послідовність дій у меню самого середовища: Menu (F10) -> Run (<Ctrl>+F9).

2) Запуск програми через операційну систему

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

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

Так чи інакше, після запуску програми на виконання на голубому фоні екрану з’являється меню. По замовчуванню, встановленим у програмному коді програми, завжди з’являється меню. Щоб внести будь-які зміни користувачу потрібно скористатися меню програми. Про доступні зміни буде розказано нижче.

По середині буде показано меню з трьох пунктів new list, open list exit, за допомогою яких можна у будь-який момент змінити настройки у програмі чи вийти з програми. Форма основного меню показана нижче (див. Мал. 1).

(Мал. 1)

Відкриваеться головне меню де появляються 6 пунктів які сохраняють видаляють сортують і закривають

(мал. 2)

Тепер детальніше поговоримо про можливості налаштувань програми. Щоб зайти в настройки програми потрібно з клавіатури натиснути ‘1’. Користувач при цьому побачить таку екранну форму меню (див. Мал. 2).

(Мал. 3)

При натисненні 1 сохраняє, При натисненні 2 вставляє, 3 видаляє,

4 сортує по назві закладу, 5 сортує по адресу вищого навчального закладу, 6 сортування за телефоном навчального закладу. 7 сортування за 8 сортування двосторонній.

9 знайти за критеріями і файла.

Щоб успішно вийти з програми потрібно в основному меню натиснути ‘3’. Після цього користувач вийде або в програмне середовище (якщо програма запускалася через саме середовище), або в операційну систему (якщо програма запускалася в операційній системі)

7. Контрольний приклад та аналіз результатів комп’ютерної реалізації програми

Отже, мені у курсовій роботі потрібно було реалізувати довідкову систему про вищі навчальні заклади м Львова. Ця програма виконує зчитування та встановлювання інформації. Зображення ходу повинно бути виконано. Мовою написання даного проекту могла бути С або С++.

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

В якості контрольного прикладу нижче наведено знімок екрану у момент зображення меню (див. Мал. 4

.

(Мал. 4)

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

Зависань, відхилень чи глюків програми не було помічено.

Додаток 1. Текст програми на мові Сі

#include<conio.h>

#include<stdio.h>

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

/*-------------------cursor--------------------*/

void cursor(int state){

if (state==0)

asm{

mov ah,1

mov ch,0x20

int 0x10

}

else

asm {

mov ah,1

mov ch,5

mov cl,7

int 0x10

}

}

/*-------------------cursor--------------------*/

/*--------------------Ramka-----------------------------------*/

void ramka(int kyt_vl_x,int kyt_vl_y,int dov_x,int dov_y)

{

int i1;

for(i1=kyt_vl_x;i1<dov_x;i1++){

gotoxy(i1,kyt_vl_y-1);

putchar(205);

}

for(i1=kyt_vl_y;i1<dov_y;i1++){

gotoxy(dov_x,i1);

putchar(186);

}

for(i1=dov_x-1;i1>kyt_vl_x-1;i1--){

gotoxy(i1,dov_y);

putchar(205);

}

for(i1=dov_y-1;i1>kyt_vl_y-1;i1--){

gotoxy(kyt_vl_x-1,i1);

putchar(186);

}

gotoxy(kyt_vl_x-1,kyt_vl_y-1);

putchar(201);

gotoxy(dov_x,kyt_vl_y-1);

putchar(187);

gotoxy(dov_x,dov_y);

putchar(188);

gotoxy(kyt_vl_x-1,dov_y);

putchar(200);

}

/*--------------------Ramka-----------------------------------*/

int page=0;

int page_count=0;

int pos=0;

struct value

{

char name[30];

char adress[30];

char phone[15];

char countf[5];

char duplom[30];

};

struct mai

{

int count;

value m[100];

};

mai list;

void refresh_list()

{

int li=6;

int dest;

page_count = 0;

int tmpl=list.count;

while (tmpl-15>0)

{

tmpl=tmpl-15;

page_count++;

}

if (page*15+15>list.count)

{

dest=list.count;

}

else

{

dest=page*15+14;

}

for (int i=0;i<15;i++)

{

gotoxy(9,i+6);

printf(" ");

}

for (i=page*15;i<=dest;i++)

{

gotoxy(12,li);

printf(list.m[i].name);

gotoxy(24,li);

printf(list.m[i].adress);

gotoxy(38,li);

printf(list.m[i].phone);

gotoxy(51,li);

printf(list.m[i].countf);

gotoxy(65,li);

printf(list.m[i].duplom);

li++;

}

}

void insert_list()

{

char s[100];

list.count++;

gotoxy(1,1);

printf("%d",list.count);

gotoxy(3,23);

printf("Enter Name ");

scanf("%s",&s);

strcat(list.m[list.count].name,s);

gotoxy(3,23);

printf(" ");

gotoxy(3,23);

printf("Enter Adress ");

scanf("%s",&s);

strcat(list.m[list.count].adress,s);

gotoxy(3,23);

printf(" ");

gotoxy(3,23);

printf("Enter Phone ");

scanf("%s",&s);

strcat(list.m[list.count].phone,s);

gotoxy(3,23);

printf(" ");

gotoxy(3,23);

printf("Enter Count Fakultet ");

scanf("%s",&s);

strcat(list.m[list.count].countf,s);

gotoxy(3,23);

printf(" ");

gotoxy(3,23);

printf("Enter Duplom ");

scanf("%s",&s);

strcat(list.m[list.count].duplom,s);

gotoxy(3,23);

printf(" ");

refresh_list();