Реферат: Інформаційно-довідкова система

МІНІСТЕРСТВО ОСВІТИІ НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ“ЛЬВІВСЬКА ПОЛІТЕХНІКА”

Кафедра“Інформаційні системи та мережі”

КУРСОВА РОБОТА

з дисципліни“Проблемно – орієнтовані мови програмування”

на тему:

“Інформаційно-довідковасистема”

Виконав студент

Студен групи кн -16

Логвиненко В. №0708532

Керівник роботи КравецьП.О.

ЛЬВІВ – 2008


Завданняна курсову роботу

Тема:Інформаційно- довідкова система “Вищі навчальні заклади м. Львова”

Завдання:Вимоги до програми:

1) програма повинна бути реалізована на мові С/С++:

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

3) програма повинна працювати у вікні МSDOS під керуваннямопераційної системи Windows;

4) програма повинна мати інтерфейс у вигляді вікон та менюдля вибору режимів її роботи, а також систему її допомоги.

5) передбачити введення/виведення даних з клавіатури та зфайлу

6) керування режимами роботи програми виконати за допомогоюклавіатури та миші.


Зміст

Вступ

1. Формулювання задачі

2. Методи та засобирозв’язування задачі

3. Алгоритмирозв’язування задачі

4. Програма та її опис

4.1 Назва програми

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

4.3 Мови програмування,на яких написана програма

4.4 Логічна структура програми

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

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

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

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

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

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

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

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

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

Висновки

Список літератури

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

Додаток 2. Результатироботи програми


Вступ

Метоюкурсової роботи є закріплення теоретичних знань та практичних навичокпрограмування, набутих при вивченні дисциплін „Основи програмування” та„Проблемно орієнтовані мови програмування”.

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

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

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

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

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


1.Формулювання задачі

Уході даної курсової роботи я повинен був зробити інтерфейс програми який бизабезпечував діалог: ком’ютер-користувач для роботи з базою даних (в момувипадку база даних про довідкову систему навчальних закладів м. Львова). Данийінтерфейс мав складатися з такого меню: інформацію про навчальні заклади;пошук: виводить дані про один навчальний заклад; а також вихід (exit).

Язробив так щоб користувач сам вибирав ту кількість даних яких він хоче податина вхід, а не ставив на кількість вхідних даних певні обмеження;

Методчитання даних виглядає в наступним чином:

Користувачвводить ключове слово(наприклад назву закладу) і йому комп'ютер показує всідані про заданий заклад.

Данапрограма може компілюватися у будь-якому середовищі С/С++, починаючи з BorlandC++ 3.1, або Turbo C. Саму програму я реалізував на мові С.

Такожїї можна викликати у операційній системі Windows і вона буде працювати у вікніMSDOS.


2.Методи та засоби розв’язування задачі

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

Символьнаконстанта складається з одного символа ASCII між апострофами (''). Стринги єодним з найбільш корисних та важливих типів даних мови С. Символьний рядок(стринг) — це масив символів, замкнений у лапки ("). Він має тип char.Нульовий символ (\0) автоматично додається останнім байтом символьного рядка тавиконує роль ознаки його кінця. Кількість елементів у масиві дорівнює кількостісимволів у стрингу плюс один, оскільки нульовий символ також є елементоммасива. Кожна стрингова константа, навіть у випадку, коли вона ідентична іншійстринговій константі, зберігається у окремому місці пам'яті. Якщо необхідноввести у рядок символ лапок ("), то перед ним треба поставити символзворотного слешу (\). У стринг можуть бути введені будь-які спеціальнісимвольні константи, перед якими стоїть символ \.

Прототипивсіх функцій, що працюють з рядками символів, містяться у файлі string.h. Всіфункції працюють з рядками, що закінчуються нульовим символом.

Впрограмуванні масив (англ. array) — одна з найпростіших структур даних,сукупність елементів переважно одного типу даних, впорядкованих за індексами,які зазвичай репрезентовані натуральними числами, що визначають положенняелемента в масиві.

Масивможе бути одновимірним (вектором), та багатовимірним (наприклад, двовимірноютаблицею), тобто таким, де індексом є не одне число, а кортеж (сукупність) здекількох чисел, кількість яких співпадає з розмірністю масива

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

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

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

Походу виконання даної курсової роботи найбільша потреба виникала у використанністандартних графічних функцій, які входять у директиву <graphics.h>, атакож у бібліотечних функціях консольного введення — виведення, які знаходятьсяу директиві <conio.h>.

Прикладифункцій консольного введення – виведення, прототипи яких знаходяться у<conio.h>:

int getch(void); Зчитує 1 символ з клавiатури безвiдображення на екранi i без натискання клавiшi <Enter>.

int kbhit(void); Повертає ненульове значення, якщо у буферiклавiатури є незчитанi символи, iнакше повертає 0.

Деякі функції для роботи з екранними вікнами

void window(int x1, int y1, int x2, int y2); Створює вiкно з координатамивузловихточок (x1,y1)-(x2,y2).

void gotoxy(int x, int y);

Перемiщує курсор в позицiю з координатами x, y.

void textcolor(int c);

Встановлює колiр символiв.

void textbackground(int c);

Встановлює колір фону (допускаються кольори 0-7).

void clrscr(void);

Очищає екран або вікно.

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


3. Алгоритми розв’язування задачі

Блок – схема функції void cursor (int state)

/> 

(Рис. 1)

Блок – схема функції void ramka

/> 

(Рис. 2)

Блок – схема функції strukt value (int x, int y, int w, inth, char *Text) (див. Рис.3)

 

 />

(Рис. 3)


Блок – схема функції (див. Рис. 4)

/>

(Рис. 4)


Блок – схема функції f =fopen(“ c: \\ vuz.My “,”w+”);

/>


4. Програма та її опис

 

4.1 Назва програми

Інформаційна — довідкова система Вищі навчальні заклади м.Львова

 

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

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

 

4.3 Мови програмування, на яких написана програма

Програма написана на мові Сі.

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

 

4.4 Логічна структура програми

Дана програма складається з двох файлів: основного файлуkyrsova.cpp та файлу kurs.h.

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

Функції файлу kurs.h

Void ramka (int kyt _vl_y, int dov_x, int dov_y) — функція длявстановлення рамки.

void cursor (int state) курсор програми.

void ramka(int kyt_vl_x,int kyt_vl_y,int dov_x,int dov_y) — функція для встановлення рамки курсор в рамці

Параметри int kyt_vl_x,int kyt_vl_y,int dov_x,int dov_yвідповідають за координати рамки.

void refresh_list()- функція для виводу створеного файлу.

void insert_list() — функція для створеного файлу і запис нанього інформації

void MyDrawText(int x,int y,char *Text) — функція длявиводу текстової інформації на екран.

void save_list()- функція для сохряняння файлу

void delete_list() — функція для видалення листа запису якийбуде знаходитись у меню

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; Windows2000; 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)Запуск через середовище програмування

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

Певноюнезручністю є те, що не всі можуть мати саме середовище програмування чикомпілятор. Для запуску програми потрібно мати щонайменше середовище BorlandC++ 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--------------------*/

voidcursor(int state){

if(state==0)

asm{

movah,1

movch,0x20

int0x10

}

else

asm {

movah,1

movch,5

movcl,7

int0x10

}

}

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

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

voidramka(int kyt_vl_x,int kyt_vl_y,int dov_x,int dov_y)

{

inti1;

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-----------------------------------*/

intpage=0;

intpage_count=0;

intpos=0;

structvalue

{

charname[30];

charadress[30];

charphone[15];

charcountf[5];

charduplom[30];

};

structmai

{

intcount;

valuem[100];

};

mailist;

voidrefresh_list()

{

intli=6;

intdest;

page_count= 0;

inttmpl=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++;

}

}

voidinsert_list()

{

chars[100];

list.count++;

gotoxy(1,1);

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

gotoxy(3,23);

printf(«EnterName „);

scanf(“%s»,&s);

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

gotoxy(3,23);

printf("");

gotoxy(3,23);

printf(«EnterAdress „);

scanf(“%s»,&s);

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

gotoxy(3,23);

printf("");

gotoxy(3,23);

printf(«EnterPhone „);

scanf(“%s»,&s);

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

gotoxy(3,23);

printf("                                             ");

gotoxy(3,23);

printf(«EnterCount Fakultet „);

scanf(“%s»,&s);

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

gotoxy(3,23);

printf("                                                      ");

gotoxy(3,23);

printf(«EnterDuplom „);

scanf(“%s»,&s);

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

gotoxy(3,23);

printf("                                                      ");

refresh_list();

}

voidsave_list()

{

FILE*f;

f=fopen(«с:\\vuz.my»,«w+»);

for(int i=0;i<=list.count;i++)

{

chartmp[150];

strcpy(tmp,list.m[i].name);

strcat(tmp,",");

strcat(tmp,list.m[i].adress);

strcat(tmp,",");

strcat(tmp,list.m[i].phone);

strcat(tmp,",");

strcat(tmp,list.m[i].countf);

strcat(tmp,",");

strcat(tmp,list.m[i].duplom);

fprintf(f,"%s\n",tmp);

}

fclose(f);

}

voiddelete_list()

{

if(page*15+pos<=list.count)

{

for(int i=page*15+pos;i<list.count;i++)

{

list.m[i]=list.m[i+1];

}

list.count--;

refresh_list();

}

}

voidsort_list(int vub)

{

valuetmpv;

if(vub==0)

{

for(int i=0;i<=list.count;i++)

{

for(int j=0;j<=list.count;j++)

{

if(strcmp(list.m[i].name,list.m[j].name)<0)

{

          tmpv=list.m[i];

          list.m[i]=list.m[j];

          list.m[j]=tmpv;

}

}

}

}

if(vub==1)

{

for(int i=0;i<=list.count;i++)

{

for(int j=0;j<=list.count;j++)

{

if(strcmp(list.m[i].adress,list.m[j].adress)<0)

{

          tmpv=list.m[i];

          list.m[i]=list.m[j];

          list.m[j]=tmpv;

}

}

}

}

if(vub==2)

{

for(int i=0;i<=list.count;i++)

{

for(int j=0;j<=list.count;j++)

{

if(strcmp(list.m[i].phone,list.m[j].phone)<0)

{

          tmpv=list.m[i];

          list.m[i]=list.m[j];

          list.m[j]=tmpv;

}

}

}

}

if(vub==3)

{

for(int i=0;i<=list.count;i++)

{

for(int j=0;j<=list.count;j++)

{

if(strcmp(list.m[i].countf,list.m[j].countf)<0)

{

          tmpv=list.m[i];

          list.m[i]=list.m[j];

          list.m[j]=tmpv;

}

}

}

}

if(vub==4)

{

for(int i=0;i<=list.count;i++)

{

for(int j=0;j<=list.count;j++)

{

if(strcmp(list.m[i].duplom,list.m[j].duplom)<0)

{

          tmpv=list.m[i];

          list.m[i]=list.m[j];

          list.m[j]=tmpv;

}

}

}

}

refresh_list();

}

voidfind_list()

{

intvub;

mit_1:

gotoxy(3,23);

printf("                                   ");

gotoxy(3,23);

printf(«FIND:| Name-1 | Adress-2 | Phone-3 | CountF-4 | Duplom-5 | „);

cursor(1);

scanf(“%d»,&vub);

if((vub<1)||(vub>5)){gotomit_1;}

gotoxy(3,23);

printf("                                   ");

gotoxy(3,23);

printf(«FindText: „);

chars[50];

scanf(“%s»,&s);

for(int i=0;i<=list.count;i++)

{

chars1[50];

switch(vub)

{

case1: strcpy(s1,list.m[i].name);break;

case2: strcpy(s1,list.m[i].adress);break;

case3: strcpy(s1,list.m[i].phone);break;

case4: strcpy(s1,list.m[i].countf);break;

case5: strcpy(s1,list.m[i].duplom);break;

}

if(strcmp(s1,s)==0)

{

gotoxy(3,pos+6);

printf("");

intj=i;

intl=0;

while(j-15>=0)

{

j=j-15;

l++;

}

page=l;

pos=j;

refresh_list();

gotoxy(3,pos+6);

printf(">");

gotoxy(3,23);

printf(«PressENTER „);

mit_2:

intc=getche();

if (c!=13){gotomit_2;}

}

}

cursor(0);

gotoxy(3,23);

printf(“                                   »);

}

voidnew_window(int vub)

{

clrscr();

cursor(0);

ramka(2,2,80,3);

ramka(2,5,80,21);

ramka(2,23,80,24);

gotoxy(2,2);

printf("|Save-1 | Insert-2 | Delete-3 | Sort-4,5,6,7,8 | Find-9 | Close-ESC |");

gotoxy(12,5);

printf(«NAMEADRESS PHONE COUNTF DUPLOM»);

if(vub==1)

{

refresh_list();

}

pos=0;

mi2:

gotoxy(3,23);

intc=getche();

switch(c)

{

case49:save_list(); break;

case50:insert_list(); break;

case51:delete_list(); break;

case52:sort_list(0); break;

case53:sort_list(1); break;

case54:sort_list(2); break;

case55:sort_list(3); break;

case56:sort_list(4); break;

case57:find_list(); break;

case72:

          if(pos!=0)

          {

          gotoxy(3,pos+6);

          printf("");

          pos--;

          gotoxy(3,pos+6);

          printf(">");

          }

          else

          {

          if(page!=0)

          {

          page--;

          gotoxy(3,pos+6);

          printf("");

          pos=14;

          refresh_list();

          }

          }

          break;

case80:

          if(pos!=14)

          {

          gotoxy(3,pos+6);

          printf("");

          pos++;

          gotoxy(3,pos+6);

          printf(">");

          }

          else

          {

          if(page_count>page)

          {

          gotoxy(3,pos+6);

          printf("");

          page++;

          pos=0;

          refresh_list();

          }

          }

          break;

case27:goto mi1;break;

}

gotomi2;

mi1:

}

voidopen_list()

{

clrscr();

FILE*f;

f=fopen(«с:\\vuz.my»,«r»);

char*s;

list.count=-1;

while(!feof(f))

{

list.count++;

fscanf(f,"%s\n",s);

// printf("%s\n",s);

char*p;

p =strtok(s,",");

intl=0;

while(p)

{

switch(l)

{

case0:strcpy(list.m[list.count].name,p);break;

case1:strcpy(list.m[list.count].adress,p);break;

case2:strcpy(list.m[list.count].phone,p);break;

case3:strcpy(list.m[list.count].countf,p);break;

case4:strcpy(list.m[list.count].duplom,p);break;

}

l++;

p =strtok(NULL,",");

}

}

fclose(f);

}

voidmain_menu()

{

mit_3:

clrscr();

ramka(2,2,80,24);

ramka(20,8,60,16);

gotoxy(35,10);

printf(«Newlist — 1»);

gotoxy(35,12);

printf(«Openlist — 2»);

gotoxy(35,14);

printf(«Exit- 3 „);

cursor(0);

mit_1:

gotoxy(45,14);

charc=getche();

if((c!='1')&&(c!='2')&&(c!='3'))

{

gotomit_1;

}

switch(c)

{

case'1':page_count=0;page=0;list.count=-1; new_window(0);goto mit_3; break;

case'2':open_list();new_window(1);goto mit_3; break;

case'3':goto mit2; break;

}

gotomit_1;

mit2:

}

voidmain()

{

list.count=-1;

main_menu();

//

//

open_list();

//new_window();

chars[10];

//scanf(“%s»,&s);

}


Додаток2. Результати роботи програми

Початокпрограми

/>

Створивфайл


Висновки

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

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

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

Націй курсовій роботі я освоїв методи програмування на мові сі і виконав завданняпро: Інформаційно- довідкова система “Вищі навчальні заклади м. Львова”


Література

1) Кравець П. О. Методичнівказівки до виконання лабораторних робіт з дисципліни “Проблемно-орієнтованімови програмування”, 2005.

2) Кравець П. О. Методичнівказівки до виконання курсової роботи з дисципліни “Проблемно-орієнтовані мовипрограмування”, 2005

3) Культин Н. С, С++ взадачах и примерах, Санкт-Петербург 2005.

4) Ричард Хезфилд,Лоуренс Кирби Исскуство программирования на С, Москва, Санкт-Петербург 2001

5) Павловская Т. А., ЩупакЮ. А. С, С++ — программирование на языке високого уровня (Структурноепрограммирование), Санкт-Петербург 2003

6) Романов Е. Л. Практикумпо программированию на С++, Санкт-Петербург 2004

Дияк І.І. Пропедевтикаприкладного програмування – Київ, ІСДО, 1994 – 176 с.

Фролов Г.Д., КузнецовЭ.И. Элементы информатики. – М.: Высш. шк., 1989. — 304 с.

Кушниренко А.Г., ЛебедевТ.В. Программирование для математиков. – М.: Наука, 1988 – 384 с.

С.А.Абрамов, Е.В.Зима.Начала информатики. – М.: Наука, 1989. — 256 с.

В.И.Пильщиков. Сборникупражнений по языку Паскаль. – М.: Наука, 1989. – 160 с.

С.А.Абрамов,Т.Т.Гнездилова, Е.Н.Капустина. Задачи по программированию. – М.: Наука, 1988. –224 с.

В.М.Брябрин. Программноеобеспечение персональных ЭВМ. – М.: Наука, 1989. – 272 с.

В. Э.Фигурнов. IBM PC дляпользователя. Изд. шестое. – М.: “Инфа М”, 1995. – 432 с.

В.П.Грибанов, С.В.Дробин,В.Д.Медведев. Операционные системы. М.: “Финансы и статистика”. 1990. – 230 с.

В.И.Касьянов,В.К.Сабельфельд. Сборник заданий по практикуму на ЭВМ. – М.: “Наука”, 1986. –272 с.

Н.П.Трифонов, Е.И.Пасхин.Практикум на ЭВМ. – М.: Наука, 1982. – 288 с.

М.Дансмур, Е.Дейвис.Операционная система UNIX и программирование на языке СИ. – М.: “Радио исвязь”, 1989. – 192 с.

В.В.Фаронов. Турбо Паскаль.– МВТУ, М., 1992. – 304 с.

Е.А.Зуев. Языкпрограммирования TURBO PASCAL 6.0. – М. “Унитех”, 1992. – 298 с.

А.Епанешников,Е.Епанешников. Програмирование в среде Turbo Pascal 7.0. -3-е изд., — М.:«ДИАЛОГ-МИФИ», 1997. — 288 с.

Delphi 2. Энциклопедияпользователя: Пер. с англ./Чарльз Калверт. — К.: НИПФ «ДиаСофт Лтд.»,1996. — 736 с.

Использование Delphi 3.Специальное издание.: Пер. с англ. — К.: Диалектика, 1997. — 768 с.

Delphi 4. Библияразработчика: Пер. с англ. — К.; СПб.: Диалектика, 1998. — 672.

еще рефераты
Еще работы по информатике, программированию