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