Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Та програмування

Та програмування




Сторінка5/11
Дата конвертації10.03.2017
Розмір2.35 Mb.
1   2   3   4   5   6   7   8   9   10   11
виділення пам’яті певного розміру з динамічної області?
Ви́ділення (екскреція) - процес виведення кінцевих продуктів, які утворилися в ході обміну речовин в клітинах тіла при розщепленні органічних енерговмісних речовин. Цю функцію виконують як спеціалізовані видільні органи, так і інші органи чи системи, для яких видільна функція може бути побічною, другорядною.

9. Як забезпечити неперервний рух зображення до натиснення клавіші?

10. Як звільнити пам’ять, що була виділена під збереження фаз руху?

2.5 Практикум з програмування
1. Напишіть фрагмент програми для побудови складної фігури з декількох ліній.

2. Напишіть фрагмент програми для побудови олімпійських кілець.

3. Напишіть фрагмент програми для побудови концентричних кіл.

4. Напишіть фрагмент програми для побудови будь-яких фігур з різнокольоровими квадратами.

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

5. Напишіть фрагмент програми для побудови трикутників за допомогою ліній.

Трику́тник у евклідовій геометрії - три точки, що не лежать на одній прямій, і три відрізки, що їх сполучають. Трикутник з вершинами A, B, і C позначається ABC. Трикутник є многокутником і 2-симплексом.

6. Напишіть фрагмент програми для побудови фігури з кіл різного радіусу.

7. Напишіть фрагмент програми для побудови трикутників, вписаних в прямокутники.

8. Напишіть фрагмент програми, що зафарбовує область, яка обмежена лініями.

9. Напишіть фрагмент програми для побудови будь-якого рухомого зображення.

10. Напишіть фрагмент програми для побудови руху кола по горизонталі і одночасного руху квадрата по діагоналі.

3 ОСНОВНІ ПРИНЦИПИ СТВОРЕННЯ БАГАТОІЄРАРХІЧНОГО МЕНЮ МОВою С
3.1 Загальні відомості
Меню – це інтерфейсний елемент або список об’єктів, з якого необхідно зробити вибір. Об’єкти меню називаються пунктами або командами. Меню можуть мати багаторівневу структуру, при цьому зберігається принцип послідовного переходу. В кожному меню наявні пункти, які є тимчасово недоступними, тобто обрати їх неможливо. Для програми, що підтримує багатодокументний інтерфейс, присутність визначеного меню є обов’язковою.
Види меню

1) Горизонтальне – menu bar:



2) Низхідне (підпункт горизонтального меню) – pull down:

3) Висхідне меню – pop-up:

4) Контекстне меню

Існує ряд функцій, які дозволяють прикладній програмі працювати з меню.
Застосунок, застосовна програма, прикладна програма (англ. application, application software; пол. aplikacja; рос. приложение, прикладная программа) - користувацька комп'ютерна програма, що дає змогу вирішувати конкретні прикладні задачі користувача.
Ці функції призначені для:

  • дозволу/відміни ряду команд меню;

  • вставлення/зняття спеціальних відміток для команд меню;

  • додання/змінення та видалення команд меню;

  • використання зображень як команд меню;

  • заміщення елементів меню;

  • створення та ініціалізація меню.

3.2 Способи створення робочого вікна


Підключаємо стандартні бібліотеки:

#include

#include

#include

#include

Гарний інтерфейс передбачає роботу з вікнами. Вікна меню будемо рисувати за допомогою функції Window (int x1,int y1,int x2,int y2,int bg,int rect,char ch), де int x1, y1 – відповідно, початкові координати x, y; int x2, y2 – відповідно, кінцеві координати x, y; int bg – колір тексту; int rect – колір фону; char ch – це змінна, яка вказує є рамочка чи ні (‘y’ – є, ’n’ – немає). Для цього використаємо такі оператори:

void Window(int x1,int y1,int x2,int y2,int bg,int rect,char ch)

{

textcolor(bg); textbackground(rect);



for(int i=x1; i<=x2; i )

for(int j=y1; j<=y2; j )

{

За допомогою коду 219 (чи лінії ▐ ) рисуємо широку лінію. Це:



gotoxy(i,j); cprintf("%c",219);

// aбo cprintf("Ы");

}

if (ch=='y')



{

textcolor(rect); textbackground(bg);

for(int i=x1; i<=x2; i )

gotoxy(i,y1); cprintf("%c",205); //abo cprintf("Н");

gotoxy(i,y2); cprintf("%c",205); //abo cprintf("Н");

За допомогою коду 205 (чи лінії ) рисуємо горизонтальні поля рамочки. Ось результат:



Рисунок 3.1 – Рисування горизонтальних ліній прямокутника
for(int j=y1; j<=y2; j )

gotoxy(x1,j); cprintf("%c",186);//abo cprintf("є");

gotoxy(x2,j); cprintf("%c",186);//abo cprintf("є");

За допомогою коду 186 (чи лінії ) ми рисуємо вертикальні поля рамочки:



Рисунок 3.2 – Рисування вертикальних ліній прямокутника
gotoxy(x2,y2); cprintf("%c",188);//abo cout<<'ј';//188

За допомогою коду 188 рисуємо кути типу: (рис. 3.3).

gotoxy(x2,y1); cprintf("%c",187);//abo cout<<'»';//187

За допомогою коду 187 рисуємо кути типу: ╗ (рис. 3.4).

gotoxy(x1,y2); cprintf("%c",200);//abo cout<<'И';//200

За допомогою коду 200 рисуємо кути типу: ╚ (рис. 3.5).



Рисунок 3.3 – Рисування нижнього правого кута прямокутника


Рисунок 3.4 – Рисування верхнього правого кута прямокутника

Рисунок 3.5 – Рисування нижнього лівого кута прямокутника
gotoxy(x1,y1); cprintf("%c",201);//abo cout<<'Й';//201

За допомогою коду 201 рисуємо кути типу: (рис. 3.6).




Рисунок 3.6 – Рисування верхнього лівого кута прямокутника
3.3 Алгоритм створення пунктів та підпунктів меню
1. При плануванні структури меню та визначенні кількості пунктів меню використовують такі оператори:

const MinMIndex = 1;

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

const MaxMIndex = 4;

int MIndex,PMIndex;

const MinMIndex=1 – це мінімальна кількість пунктів меню; const MaxMIndex = 4 – це максимальна кількість пунктів меню; PMIndex – це змінна, яка вказує на «підменю».
void MainMenu()

{ textbackground(1);


2. Встановимо колір основного фону меню – синій.

clrscr();

Window(0,1,78,1,7,1,'n'); (1)

Window(0,25,79,25,7,1,'n'); (2)

3. За допомогою функцій (1) і (2) рисуємо верхнє вікно, де розміщені написи File, Dii, Powyk, Help, та нижнє вікно, де знаходиться надпис Pres 'Esc' to exit відповідно.

4. Встановлюємо колір тексту чорний (textcolor(0)) та колір фону яскраво-сірий (textbackground(7))

textcolor(0); textbackground(7);

5. Переходимо до координат (3,25)

gotoxy(3,25);

та пишемо Pres 'Esc' to exit

cprintf("Pres 'Esc' to exit ");

6. Встановлюємо чорний колір тексту (textcolor(0)) та зелений фон (textbackground(2))

textcolor(0);

Чо́рний ко́лір - ахроматичний колір, точніше - відсутність світлового потоку від об'єкта. Відтінки чорного кольору іменуються сірим кольором.
textbackground(2);
7. Переходимо до мітки (2,1)

gotoxy(2,1);

і пишемо назву пункту меню File

cprintf(" File ");


8. Встановлюємо чорний колір тексту (textcolor(0)) та яскраво-сірий фон (textbackground(7))

textcolor(0); textbackground(7);

і організуємо вивід на екран назви пунктів меню Dii, Powyk, Help

cprintf(" Dii ");

cprintf(" Powyk ");

cprintf(" Help ");

MIndex = MinMIndex;

}

//End draw main menu

void podmenu1()

{

int pch;


9. У першому підменю, підменю File, рисуємо вікно функцією

Window(2,2,16,5,7,0,'y');



Рисунок 3.7 – Рисування підменю File
10. У функції Window(2,2,16,5,7,0,'y') – координати 2,2 – це початкові координати х, у відповідно; 16,5 – це кінцеві координати х, у відповідно; 7 – це яскраво-синій колір фону; 0 – це колір тексту; 'y' – рамочка є.

11. Переходимо до мітки (3,4) та (3,3), де пишемо Exit, Basa danuh відповідно.

gotoxy(3,4); cprintf(" Exit ");

textbackground(2); – встановлюємо зелений колір фону

gotoxy(3,3);

Зеле́ний - один з трьох основних кольорів, зелений діапазон спектру з довжиною хвилі 500–565 нанометрів. Зелений - це четвертий колір веселки.
cprintf(" Basa danuh ");

do

{ pch=getch();



switch (pch)

{

12. Для організації руху по підменю за допомогою клавіші  ( код 80) необхідно використати такі оператори:



case 80:

PMIndex ;

switch(PMIndex){

case 2:


Встановлюємо яскраво-сірий колір фону

textbackground(7);

Переходимо до мітки (3,3) та пишемо Basa danuh

gotoxy(3,3); cprintf(" Basa danuh ");

Встановлюємо зелений колір фону:

textbackground(2);

Переходимо до мітки (3,4), де пишемо Exit

gotoxy(3,4); cprintf(" Exit ");

break;

default:


13. Для обробки процесу натискання кнопки Basa danuh необхідно використовувати такі оператори:

PMIndex=1;

Встановлюємо яскраво-сірий колір фону textbackground(7);

На метці (3,4), де написано Exit

gotoxy(3,4); cprintf(" Exit ");

При цьому змінюється фон Basa danuh та стає зеленим

textbackground(2);

gotoxy(3,3); cprintf(" Basa danuh ");

break;

}// end switch(PMIndex)



break; //end 80 Down

14. Для організації руху по підменю за допомогою клавіші 72, тобто , працюємо за тим самим принципом. Основне, що потрібно пам’ятати: textbackground(7); – фон яскраво-сірий; gotoxy(х,у); – мітка, до якої потрібно перейти.


case 72:

PMIndex--;

switch(PMIndex)

{

case 1:



textbackground(7);

gotoxy(3,4); cprintf(" Exit ");

textbackground(2);

gotoxy(3,3); cprintf(" Basa danuh ");

break;

default:


PMIndex=2;

textbackground(7);

gotoxy(3,3); cprintf(" Basa danuh ");

textbackground(2);

gotoxy(3,4);

cprintf(" Exit ");

break;

}// end switch(PMIndex)



break; //end 72 Up

case 13: // if enter press

15. При натисканні клавиши Еnter, повинне з’явитися вікно, яке можна нарисувати за допомогою:

switch (PMIndex)

{ case 1:

Window(2,2,16,6,1,0,'n');

- потрібне для того, щоб попереднє вікно зникло

Window(8,4,69,22,7,0,'y');

- потрібне для того, щоб нарисувати вікно з певними

координатами та з рамочкою

Переходимо до координат gotoxy(12,4)

gotoxy(12,4);

та встановлюємо білий колір шрифта

textcolor(15);

Бі́лий ко́лір - це ахроматичний колір, точніше зорова рівноважна сукупність усіх кольорів видимого спектру сонячного світла, сприймана людиною. Має найвищу яскравість, відтінок - 0. Білий колір може бути створений шляхом поєднання трьох основних кольорів - червоного, зеленого і синього (RGB-модель), або жовтого, пурпурного і блакитного (CMYK-модель) - у рівних концентраціях при найвищій яскравості.

і коричневий фон напису This is all asortiment in shop

textbackground(6);

cprintf(" This is all asortiment in shop ");

встановлюємо яскраво-сірий фон

textbackground(7);

та переходимо до мітки:

gotoxy(9,5);

textcolor(15);

і білим кольором пишемо складових підменю:

cprintf(" Artikyl ");

cprintf(" Name tovar ");

cprintf(" Name firma ");

cprintf(" Country ");

cprintf(" Price ");

cprintf(" Kilkist ");

//OpenRec();

getch();


pch = 27;

break;


case 2:

exit(1);


pch = 27;

break; }


break; //end 13

} // end switch(pch)

}while(pch!=27); //Esc

Window(1,2,75,24,1,0,'n');

}

Отже, вікно буде мати вигляд, наведений на рисунку 3.8.



Рисунок 3.8 – Рисування меню Baza danuh
3.4 Правила реалізації пунктів меню
Заходимо в підменю Dii.

void podmenu2()

{ int pch;

Window(8,2,16,5,7,0,'y');

- рисуємо вікно, де розміщені написи Zminutu, Dodatu на відповідних мітках

gotoxy(9,4);

cprintf("Zminutu");

textbackground(2);

gotoxy(9,3);

cprintf("Dodatu");

do

Рисунок 3.9 – Рисування підменю Дії

{

pch=getch();



switch (pch)

{

case 80: – стрілочкою рухаємося вниз



PMIndex ;

if (PMIndex==2)

Для обробки дій при натисканні на пукт підменю Zminutu необхідно використати нижченаведені оператори:

{

textbackground(7);



- встановлюємо яскраво-сірий колір фону

gotoxy(9,3);

cprintf("Dodatu");

- переходимо до мітки з координатами (9,3) та пишемо ім’я підменю – Dodatu

textbackground(2);

- встановлюємо зелений колір фону

gotoxy(9,4);

cprintf("Zminutu");



- переходимо до мітки з координатами (9,4) та пишемо ім’я підменю – Zminutu

}

else {



PMIndex=1;

Якщо натиснуто Dodatu:

textbackground(2);

- встановлюємо зелений колір фону

gotoxy(9,3);

cprintf("Dodatu");

- переходимо до мітки з координатами (9,3) та пишемо ім’я підменю – Dodatu

textbackground(7);

- встановлюємо яскраво-сірий колір фону

gotoxy(9,4);

cprintf("Zminutu");

- переходимо до мітки з координатами (9,4) та пишемо ім’я підменю – Zminutu

}

break; //end 80 Down



case 72:

За допомогою цієї клавіші рухаємося вверх, принцип дії той самий

PMIndex--;

if (PMIndex==1)

{

textbackground(7);



gotoxy(9,4);

cprintf("Zminutu");

textbackground(2);

gotoxy(9,3);

cprintf("Dodatu");

}

else {



PMIndex=2;

textbackground(7);

gotoxy(9,3);

cprintf("Dodatu");

textbackground(2);

gotoxy(9,4); cprintf("Zminutu");

}

break; //end 72 Up



case 13:

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

if (PMIndex==1)

{

Window(2,2,16,5,1,0,'n');



При цьому потрібно, щоб попереднє вікно зникло

Window(8,4,38,18,7,0,'y');

- та нарисувати вікно з певними координатами та з рамкою

gotoxy(10,4);

- переходимо до мітки (10,4)



textbackground(6);

- встановлюємо коричневий колір фону



textcolor(15);
Брунатний, кори́чневий, цинамо́новий або гніди́й - неспектральний колір, що не входить до основної палітри. Утворюється при змішуванні зеленого і червоного барвників або пігментів, а також оранжевого з сірим або синім, жовтого і пурпурного.

- встановлюємо білий колір тексту

cprintf(" Please input new record ");

- пишемо напис Please input new record

gotoxy(10,6);

- переходимо до мітки (10,6)

textcolor(15);

- встановлюємо білий колір тексту

textbackground(7);



- встановлюємо яскраво-сірий колір фону.

Далі на відповідних мітках пишемо відповідні назви складових підменю:

cprintf("Artikyl : ");

gotoxy(10,8);

cprintf("Name tovar : ");

gotoxy(10,10);

cprintf("Name firma : ");

gotoxy(10,12);

cprintf("Country : ");

gotoxy(10,14);

cprintf("Price : ");

gotoxy(10,16);

cprintf("Kilkist tovary : ");

gotoxy(4,1);

getch();

pch=27;


}

В результаті на екрані з’явиться вікно, вигляд якого наведено на рисунку 3.10.



Рисунок 3.10 – Рисування меню Dodatu
еlse

Якщо ж натиснуто пункт підменю Zminutu, то з’являються вікна, вигляд яких наведений на рисунку 3.11. Для цього необхідно написати такий код:

{

Window(1,2,16,5,1,0,'n');

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



- щоб зникло попереднє вікно

Window(3,3,45,6,7,0,'y');





Рисунок 3.11 – Рисування меню Zminutu
textcolor(15);

- встановлюємо білий колір тексту

gotoxy(4,4);

- переходимо до мітки (4,4)

cprintf("Number of records is ");

- пишемо

gotoxy(4,5);

- переходимо до мітки (4,5)

cprintf("Please enter number of record - ");

Window(8,8,50,21,7,0,'y');

- щоб з’явилось вікно 1 (рис. 3.12) з:

gotoxy(10,8);

Рисунок 3.12 – Рисування меню Zminutu
- переходимо до мітки (4,4)

textcolor(15);

- встановлюємо білий колір тексту

textbackground(6);

- встановлюємо коричневий колір фону

cprintf(" Please edit record ");

- пишемо Please edit record

Далі переходимо до міток з певними координатами та формування відповідних пунктів підменю, можна використати такий код:

gotoxy(10,10);

textcolor(15);

textbackground(7);

cprintf("Artikyl : ");

gotoxy(10,12);

cprintf("Name tovar : ");

gotoxy(10,14);

cprintf("Name firma : ");

gotoxy(10,16);

cprintf("Country : ");

gotoxy(10,18);

cprintf("Price : ");

gotoxy(10,20);

cprintf("Kilkist tovary : ");

gotoxy(29,9);

textbackground(7);

cprintf("Previous New");

getch();


pch=27;

}

break; //13



} // end switch(pch)

}while(pch!=27); //Esc

Window(1,2,75,24,1,0,'n');

Такий код необхідний для того, щоб попереднє вікно зникло при натисканні клавіші Esc.


При натисканні пункту меню Powyk

void podmenu3()

{ int pch;

Window(14,2,25,6,7,0,'y');

- з’являється вікно.

На певних мітках відповідні підпункти меню можна вказати так:

gotoxy(15,4); cprintf(" Artikyl ");

gotoxy(15,5); cprintf(" Price ");

textbackground(2);

gotoxy(15,3); cprintf(" Firma ");

do

Рисунок 3.13 – Рисування підменю Powyk
{

pch=getch();

switch (pch)

{

case 80:


При натисканні стрілочки «вниз»:

PMIndex ;

switch(PMIndex)

{

case 2:


Якщо натиснути на пункт меню Artikyl:

textbackground(7);

- встановлюємо яскраво-сірий фон

gotoxy(15,3); cprintf(" Firma ");



- переходимо до мітки з координатами (15,3) та пишемо назву підменю – Firma

textbackground(2);

- встановлюємо зелений фон

gotoxy(15,4); cprintf(" Artikyl ");

-переходимо до мітки, з координатами (15,4) та пишемо назву підменю – Artikyl

break;


case 3:
Якщо натиснути на пункт меню Price:

textbackground(7);

- встановлюємо яскраво-сірий фон

gotoxy(15,4); cprintf(" Artikyl ");

- переходимо до мітки з координатами (15,4) та пишемо назву підменю – Artikyl

textbackground(2);

- встановлюємо зелений фон

gotoxy(15,5);

cprintf(" Price ");

- переходимо до мітки з координатами (15,4) та пишемо назву підменю – Price

break;

default:


PMIndex=1;
Якщо натиснути на пункт меню Firma:

textbackground(7);

- встановлюємо яскраво-сірий фон

gotoxy(15,4);

cprintf(" Artikyl ");

- переходимо до мітки з координатами (15,4) та пишемо назву підменю – Artikyl

gotoxy(15,5);

cprintf(" Price ");

- переходимо до мітки з координатами (15,4) та пишемо назву підменю - Price

textbackground(2);

- встановлюємо зелений фон

gotoxy(15,3);

cprintf(" Firma ");

- переходимо до мітки з координатами (15,3) та пишемо ім’я підменю – Firma

break;

}// end switch(PMIndex)



break; //end 80 Down

case 72:


Аналогічно формується програмний код для обробки дій, що відбуваються при натисканні стрілочки «вгору»

PMIndex--;

switch(PMIndex)

{

case 1:



textbackground(7);

gotoxy(15,4);

cprintf(" Artikyl ");

textbackground(2);

gotoxy(15,3);

cprintf(" Firma ");

break;

case 2:


textbackground(7);

gotoxy(15,5);

cprintf(" Price ");

textbackground(2);

gotoxy(15,4);

cprintf(" Artikyl ");

break;

default:


PMIndex=3;

textbackground(7);

gotoxy(15,3);

cprintf(" Firma ");

gotoxy(15,4);

cprintf(" Artikyl ");

textbackground(2);

gotoxy(15,5);

cprintf(" Price ");

break;


}// end switch(PMIndex)

break; //end 72 Up

case 13:

Якщо натиснути на Еnter

switch (PMIndex){

на першому підпункті меню, тобто на Firma, на екрані з’являється вікно,

case 1:


Window(1,2,25,7,1,15,'n');

яке потрібне для того, щоб попереднє вікно зникло.

Window(3,3,45,5,7,0,'y');

Щоб нарисувати вікно з певними координатами та з рамочкою

gotoxy(5,4);

переходимо до координат (5,4)

textcolor(15);

та встановлюємо білий колір тексту

cprintf("Please enter name of firma - ");

На рисунку 3.14 показане нарисоване вищенаведеними операторами вікно.



Рисунок 3.14 – Рисування підменю Firma
Window(8,8,69,8,7,7,'n');

Для того, щоб нарисувати вікно з певними координатами та без рамочки

gotoxy(9,8);

textcolor(15);

встановлюємо білий колір тексту.

Переходимо до міток з певними координатами та пишемо назви складових

cprintf(" Artikyl ");

cprintf(" Name tovar ");

cprintf(" Name firma ");

cprintf(" Country ");

cprintf(" Price ");

cprintf(" Kilkist ");

Window(8,7,69,7,6,6,'n');

gotoxy(11,7); textcolor(15);

cprintf("Results of seaching");

На рисунку 3.15 наведене нарисоване вищенаведеними операторами вікно.



Рисунок 3.15 – Рисування підменю Firma

Якщо запитуваної фірми немає, то потрібно створити віконечко, яке про це інформує

gotoxy(2,14);

Для цього переходимо до координат (2,14)

textbackground(6);

- встановлюємо коричневий колір фону і пишемо:



cprintf(" Results of seaching");

gotoxy(2,15);

- переходимо до координат (2,15)

textbackground(RED);

- встановлюємо коричневий колір фону і пишемо:

cprintf(" Firma isn't in this database");


На рисунку 3.16 наведене нарисоване вищенаведеними операторами вікно.

Рисунок 3.16 – Рисування підменю Firma
getch();

pch = 27;

break;

case 2:
Якщо натиснути на Еnter на першому підпункті меню, тобто на пункті Artikyl, з’являється вікно



Window(1,2,35,7,1,15,'n');

Для того, щоб попереднє вікно зникло

Window(3,3,45,5,7,0,'y');

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

gotoxy(5,4);

- переходимо до координат (5,4)

textcolor(15);

- встановлюємо білий колір тексту

cprintf("Please enter artikyl - ");

Window(8,8,69,8,7,7,'n');

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

gotoxy(9,8);

- переходимо до координат (9,8)

textcolor(15);

- встановлюємо білий колір тексту

Рисунок 3.17 – Рисування підменю Artikyl


Переходимо до міток з певними координатами та пишемо назви складових

cprintf(" Artikyl ");

cprintf(" Name tovar ");

cprintf(" Name firma ");

cprintf(" Country ");

cprintf(" Price ");

cprintf(" Kilkist ");

Window(8,7,69,7,6,6,'n');

gotoxy(11,7);

textcolor(15);

cprintf("Results of seaching");

Рисунок 3.18 – Рисування підменю Artikyl
Якщо такого артикулу немає, то потрібно створити вікно, яке про це інформує, для цього

gotoxy(2,14);

- переходимо до координат (2,14)

textbackground(6);

- встановлюємо коричневий колір фону і пишемо:

cprintf(" Results of seaching");

gotoxy(2,15);

- переходимо до координат (2,15)

textbackground(RED);

- встановлюємо коричневий колір фону і пишемо:

cprintf("Artikyl isn't in this database");

Рисунок 3.19 – Рисування підменю Artikyl
getch();

pch = 27;

break;

case 3:


Якщо натиснути на Еnter на першому підпункті, тобто на Price, з’являється вікно:

Window(1,2,35,7,1,15,'n');

Для того, щоб попереднє вікно зникло, необхідно використати оператор

Window(3,3,45,7,7,0,'y');

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

gotoxy(5,4);

- переходимо до координат (5,4)

textcolor(15);

- встановлюємо білий колір шрифту і пишемо:

cprintf("Please enter artikyl - ");

gotoxy(5,5);

cprintf("Please enter min price - ");

gotoxy(5,6);

cprintf("Please enter max price - ");

Window(8,10,69,10,7,7,'n');

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

gotoxy(9,10);

- переходимо до мітки з координатами (9,10)

textcolor(15);

Рисунок 3.20 – Рисування підменю Price
- встановлюємо білий колір шрифту та пишемо:

cprintf(" Artikyl ");

cprintf(" Name tovar ");

cprintf(" Name firma ");

cprintf(" Country ");

cprintf(" Price ");

cprintf(" Kilkist ");

Window(8,9,69,9,6,6,'n');

- рисуємо віконечко коричневого кольору

gotoxy(11,9);

- переходимо до мітки з координатами (11,9)

textcolor(15);

cprintf("Results of seaching"); }

Рисунок 3.21 – Рисування підменю Price
Якщо такого артикулу з заданою ціною немає, то потрібно створити вікно, яке про це інформує
{ gotoxy(2,15);

textbackground(6);

cprintf(" Results of seaching");

gotoxy(2,16);

textbackground(RED);

cprintf("Artikyl number beetween and isn't in this database"); }



Рисунок 3.22 – Рисування підменю Price
getch();

pch = 27;

break;

}

break; // end 13



} // end switch(pch)

}while(pch!=27); //Esc

Window(1,2,75,24,1,0,'n');

}

void podmenu4()



У четвертому підменю, підменю Help, рисуємо вікно

{ int pch;

Window(22,2,30,5,7,0,'y');

Це вікно має рамку, яскраво-сірий фон та чорний колір тексту. Перейшовши до координат (23,4) та (23,3) пишемо назву пунктів підменю Avtor і Help

gotoxy(23,4); cprintf(" Avtor ");

textbackground(2);

gotoxy(23,3); cprintf(" Help ");

do

{



pch=getch();

switch (pch)}




Рисунок 3.23 – Рисування підменю Help
case 80:

За допомогою клавіші  переміщуємося по пунктах підменю

PMIndex ;

if (PMIndex==2)

Якщо натиснути на 2-му підпункті (Avtor), то фон яскраво-сірий на надпису Help перетворюється в фон зелений на активованому підпункті

{

textbackground(7); -



gotoxy(23,3); cprintf(" Help "); -

textbackground(2);

gotoxy(23,4); cprintf(" Avtor ");

}

Якщо натиснути на першому підпункті (Help), то фон яскраво-сірий на надпису Avtor перетворюється в фон зелений на активованому підпункті



else {

PMIndex=1;

textbackground(2);

gotoxy(23,3); cprintf(" Help ");

textbackground(7);

gotoxy(23,4); cprintf(" Avtor ");

}

break; //end 80 Down



case 72:

Аналогічні дії відбуваються, коли натиснути на клавішу зі стрілкою «вгору»

PMIndex--;

if (PMIndex==1)

{

textbackground(7);



gotoxy(23,4); cprintf(" Avtor ");

textbackground(2);

gotoxy(23,3); cprintf(" Help ");

}

else {



PMIndex=2;

textbackground(7);

gotoxy(23,3);

cprintf(" Help ");

textbackground(2);

gotoxy(23,4);

cprintf(" Avtor ");

}

break; //end 72 Up



case 13:

Якщо натиснути на Еnter на першому підпункті, тобто на Help, з’являється вікно


if (PMIndex==1)

{

Window(1,2,35,7,1,15,'n');



Для того, щоб попереднє вікно зникло, необхідні такі оператори

Window(8,4,55,12,7,0,'y');

Для того, щоб нарисувати вікно з певними координатами, з рамкою та з яскраво-сірим фоном і чорним кольором шрифта

gotoxy(10,4);

- переходимо до координат (10,4)

textbackground(6);

- встановлюємо коричневий фон

textcolor(15);

- білий колір шрифта і пишемо:

cprintf(" Help ");

getch();

pch = 27; }



Рисунок 3.24 – Рисування меню Help
Якщо натиснути на другому підпункті, то з’явиться інше вікно:

else


{ Window(1,2,35,7,1,15,'n');

Window(8,4,38,11,7,0,'y');

Для того, щоб нарисувати вікно з певними координатами, з рамкою та з яскраво-сірим фоном, чорним кольором шрифта необхідно використати такі оператори

gotoxy(10,4);

- переходимо до координат (10,4)

textbackground(6);

- встановлюємо коричневий фон

textcolor(15);

- білий колір шрифта і пишемо:

cprintf(" About ");

getch();

pch = 27;

}

Рисунок 3.25 – Рисування меню About
break; //end 13

} // end switch(pch)

}while(pch!=27);

Window(1,2,75,24,1,0,'n');

}
Дане вікно потрібне для того, щоб при натисканні кнопки Esc зникло попереднє вікно. Для цього вікно повинно мати такі ж самі координати, як і попереднє вікно, але фон синього кольору (як і фон вікна основного меню).

void main()

{

int ch;


MainMenu();

while(1)


{

ch=getch();

switch (ch){
По основних пунктах меню можна рухатись за допомогою клавіш «вправо» та «вліво». Для цього необхідно використати такі оператори.

Для організації руху вліво (код клавіші 77), необхідно використати оператори:

case 77:

MIndex ;

switch (MIndex)

{
case 2: (активне Dii)

textcolor(0);

- встановлюємо чорний колір шрифта

textbackground(7);

- встановлюємо яскраво-сірий фон

gotoxy(2,1);

- переходимо до мітки з координатами (2,1)

cprintf(" File ");

- пишемо File

textcolor(0);

- встановлюємо чорний колір шрифта

textbackground(2);

- встановлюємо зелений фон (зелений фон завжди при

1   2   3   4   5   6   7   8   9   10   11