Програма дослідження функцій h2>
Пояснювальна записка до курсової роботи з дисципліни
"Основи алгоритмізації і програмування" p>
Виконав: студент гр. 96ВВ3 Гавріщенко О.М. p>
Пензенський
державний технічний університет, Кафедра "Обчислювальна техніка" p>
1997 p>
Вступ h2>
В даний час індустрія виробництва комп'ютерів
і програмного забезпечення для них
є однією з
найбільш важливих сфер економіки
розвинених країн. Щорічно у світі продаються десятки мільйонів комп'ютерів. Тільки в США
обсяг продажів комп'ютерів складає
десятки мільйонів доларів і постійно продовжує рости. p>
У чому ж причини такого стрімкого зростання індустрії
персональних комп'ютерів та їх порівняльна вигідність для багатьох ділових
застосувань? p>
1. Простота використання, забезпечена за допомогою діалогового способу взаємодії з
комп'ютером. p>
2. Відносно високі можливості з переробки
інформації, наявність програмного забезпечення, а також потужних
систем для розробки нового
програмного забезпечення. p>
Є й інші причини. p>
Мова С + + - універсальна мова загального призначення,
область додатків якого - програмування систем в самому широкому сенсі.
Крім цього, С + + успішно використовується як у
багатьох додатках, так і в
потужних операційних системах. Реалізація С + +
здійснена для машин в діапазоні від найпростіших персональних
комп'ютерів до найпотужніших суперкомп'ютерів і для всіх операційних систем. p>
1 Постановка завдання h2>
Завдання курсової роботи
полягає в розробки системи,
що дозволяє досліджувати деякі функцій: p>
y = sin (x); p>
y = cos (x); p>
Система повинна забезпечувати виконання наступних
функцій: p>
Вибір з
запропонованого списку досліджуваної функції; p>
Завдання
діапазону (діапазонів) зміни параметрів; p>
Висновок значень
функції на екран і при необхідності в файл, ім'я якого задається
користувачем; p>
Вивід на екран
графіка функції. p>
2 Опис програми h2>
2.1 Загальні відомості h2>
Дана програма призначена для дослідження
математичних функцій (див. пункт 1). Програма do.cpp розроблена на
алгоритмічній мовою Turbo C + + v.3.0. , І призначена для використання на
персональному комп'ютері IBM PC/XT або сумісним з ним. p>
2.2 Короткий опис методу рішення задачі h2>
Робота з програмою організована в графічному режимі
640х480 пікселів, 16 кольорів через меню, по пунктах якого можна пересувати
колірної курсор за допомогою клавіш
управління курсором. p>
Основне меню описано за допомогою масиву структур
menu_ на 5 елементів, який заначітельно спрощує роботу програми при
зверненні до цього меню. Кожен пункт основного меню (крім "Вихід")
містить у собі підменю, кожен пункт якого викликає які-небудь дії
програми. p>
Головне меню складається з наступних пунктів: p>
"Функція" - вибір досліджуваної
функції; p>
"Діапазон" - завдання мінімального і
максимального значення Х для відображення графіка функції та занесення значень в
таблицю; p>
"Масштаб" - завдання масштабу по осі
X; p>
"Таблиця" - висновок значень функції
на екран або у файл (назва файлу задається користувачем), зміна числа
виволімих значень; p>
"Вихід" - завершення роботи
програми. p>
Програма розбита на функціональні модулі, роботою
яких управляє основна програма.
Опитування клавіатури організований за допомогою оператора getch (), який повертає
код натиснутою клавіші, який потім аналізується програмою. Залежно від
натиснутою користувачем клавіші програма аналізує її код і робить вибір
тієї або іншої дії, вибір чергового пункту меню або підменю, вихід з програми. p>
2.3 Функціональне призначення h2>
Програма дозволяє досліджувати певні завданням
функції, побудувати їх графіки на будь-якому відрізку їх значень, занести значення
функцій в таблицю і вивести їх на екран або у файл, програма також дозволяє
змінювати масштаб відображається функції, змінювати діапазон її значень. p>
2.4 Опис
даних h2>
Структура, масив яких утворює меню, складається з
3 полів: p>
1. num - поле цілого типу (int) - містить кількість
пунктів меню; p>
2. onum - поле цілого типу (int) - містить кількість
опитуваних пунктів меню; p>
3. capt - масив символів (по 20 символів на елемент)
з 6 елементів - містить імена пунктів меню. p>
Глобальні змінні, які використовує програма: p>
Назва p>
Тип p>
Початкове значення p>
Призначення p>
MinX p>
float p>
-4 p>
Початкове значення Х p>
MaxX p>
float p>
4 p>
Початкове значення Y p>
MX p>
float p>
80 p>
Масштаб по осі Х p>
MY p>
float p>
80 p>
Масштаб по осі Y p>
CF p>
int p>
0 p>
Номер функції p>
SC p>
int p>
20 p>
Число рядків у таблиці p>
2.5 Структура програми h2>
Дана
програма розроблена на
алгоритмічній мові С + + і
складається з наступних функціональних модулів: p>
1. Функція
fun - Повертає 0, якщо неможливо обчислити значення функції при заданому
значенні Х, інакше обчислює значення Y і повертає 1; p>
2. Функція
output - Здійснює висновок графіка
функції на екран з урахуванням всіх параметрів; p>
3. Функція
use_scroll - Здійснює обробку вертикального меню; p>
4. Функція
use_menu - Здійснює обробку головного меню; p>
5. Функція
InputFloat - Здійснює введення дійсного числа в графічному режимі; p>
6. Функція
InputString - Здійснює введення рядка символів в графічному режимі; p>
7. Функція
prttabl - Здійснює висновок таблиці у файл чи на екран; p>
8. Основна
програма Main - Заповнює масив меню, організує взаємодію всіх
функціональних модулів. p>
2.6 Специфікація на функціональні модулі h2>
2.6.1 Функція fun h2>
Призначення: Повертає 0, якщо неможливо вирахувати
значення функції при заданому значенні Х, інакше обчислює значення Y та
повертає 1; p>
Вхідні дані: x - значення змінної х, * y - ім'я
функції. p>
Вихідні дані: fun. p>
Не викликає ніяких функцій. p>
Викликається з output: rt = fun (x, & y); p>
prttabl: if
(fun (x, & y)) fprintf (f, "Fun (% f) =% fnf", x, y); p>
2.6.2 Функція output p>
Призначення: Здійснює висновок графіка функції на
екран з урахуванням всіх параметрів. p>
Вхідні дані:
немає. p>
Вихідні дані: ні. p>
Викликає функцію fun. p>
Викликається з основної програми: output (); p>
У пунктом 2.11 наведено алгоритм роботи даної функції. p>
2.6.3 Функція use_scroll p>
Призначення: Здійснює обробку вертикального меню
- Опитування клавіатури, відображення пунктів підменю, пересування курсору, при
натиснути клавішу Enter возврвщает код обраного пункту меню, при натисканні
клавіші ESC повертає -1. p>
Вхідні дані: menu_m - назва масиву меню,
х-координата х виведення меню. p>
Вихідні дані: use_scroll. p>
Не викликає ніяких функцій. p>
Викликається з основної програми:
CF = use_scroll (fun, 0); p>
switch (se_scroll (dia, 105)) p>
switch (se_scroll (mas, 205)) p>
switch (se_scroll (tabl, 305)) p>
2.6.4 Функція use_menu p>
Призначення: Здійснює обробку головного меню --
висновок пунктів меню на екран, відображення колірного курсору, при натисканні
клавіші Enter возврвщает код обраного пункту меню, при натисканні клавіші ESC
повертає -1. p>
Вхідні дані: menu_m - назва масиву меню. p>
Вихідні дані: use_menu. p>
Не викликає ніяких функцій. p>
Викликається з основної програми: switch
(use_menu (m1)) p>
2.6.5 Функція InputFloat p>
Призначення: Здійснює введення і редагування
дійсного числа в графічному режимі, повертає введене число. p>
Вхідні дані: x1, y1, x2, y2 - координати вікна
редагування, last - поточне значення цього параметра. p>
Вихідні дані: InputFloat. p>
Не викликає ніяких функцій. p>
Викликається з основної
програми: MinX = InputFloat (210,30,310,45, MinX); p>
MaxX = InputFloat (210,50,310,65, MaxX); p>
MY = InputFloat (310,30,410,55, MY); p>
2.6.6 Функція InputString p>
Призначення: Здійснює введення і редагування рядка
символів у графічному режимі, повертає вказівник на введену рядок. p>
Вхідні дані: x1, y1, x2, y2 - координати вікна редагування
, * Last - покажчик на рядок. P>
Вихідні дані: * InputString. p>
Не викликає ніяких функцій. p>
Викликається з основної програми:
prttabl (Inputstring (410,30,510,45, "Prn ")); p>
2.6.7 Функція PrtTabl p>
Призначення: Здійснює висновок таблиці у файл чи на екран. p>
Вхідні дані: * fname - вказівник на ім'я файлу, якщо
назва файлу "con" то висновок здійснюється на екран в текстовому режимі. p>
Вихідні дані:
немає. p>
Викликає функцію fun. p>
Викликається з основної програми:
prttabl ( "conx0 "); p>
prttabl (Inputstring (410,30,510,45, "Prn ")); p>
2.7 Опис роботи основної програми p>
Основна програма здійснює наступні дії: p>
Заполнеіе
масиву меню. p>
Установку
початкових пунктів меню. p>
Установку
графічного режиму, очищення екрана. p>
Виклик функції
оформлення екрана. p>
Опитування меню,
виклик функцій, що відповідають кожному з вибраннх пунктів. p>
Вихід з
програми. p>
Основна програма використовує наступні функції:
output, use_scroll, use_menu, InputFloat, Inputstring, prttabl. p>
Далі в пункті 2.10 наведено докладний алгоритм роботи
основної програми. p>
2.8 Схема взаємодії функціональних модулів p>
2.9 Опис алгоритму основної програми та функції
Output p>
В нижче наведеному алгоритмі роботи основної програми
відображені наступні блоки: p>
Блоки 0,30 - Початок програми, функції; p>
Блоки 11,12,14,15,18,19,23,26,40,41 - Операції
введення, виведення; p>
Блоки 1,2,3,5,13,21,28,32,33,38 - Операції дії,
обчислення, присвоєння. p>
Блоки 6,8,16,20 - Операція розгалуження. p>
Блоки 31,37,39,44 - Умовна операція. p>
Блоки 4,7,8,17,22,24,25,36 - Виклик функції. p>
Блоки 29,45 - Кінець програми, функції. p>
2.10 Алгоритм роботи основної програми p>
p>
p>
p>
p>
2.11 Алгоритм роботи функції output p>
p>
p>
3 План налагодження програми p>
При написанні даної програми був обраний метод
спадного програмування, оскільки всі функції, які використовуються
для вводаданних, можуть бути
написані і перевірені по черзі. Зразковий
порядок написання програми наступний: p>
1. Пишеться та налагоджували функція fun. P>
2. Пишеться та налагоджували функція use_menu. P>
3. Пишеться та налагоджували функція use_scroll. P>
4. Пишеться основна програма з заглушками. P>
5. Пишеться та налагоджували функція output. P>
6. Пишеться та налагоджували функція inputfloat. P>
7. Пишеться та налагоджували функція inputstring. P>
8. Пишеться та налагоджували функція prttabl. P>
9. Регламентуватиме основна програма без заглушок. P>
4.Руководство користувача p>
Для запуску даної програми необхідна наявність персонального комп'ютера IBM PC/XT c
операційною системою MS-DOS. p>
Необхідний обсяг оперативної пам'яті - від 640 КБ і
вище. p>
Для роботи програми необхідна наявність відеокарти VGA
, Для забезпечення встановлення графічного режиму 640х480 пікселів 16 кольорів. P>
Дла запуску програми необхідно зробити поточному
каталог з програмою do.exe і викликати її на виконання. У цьому ж каталозі
повинен знаходитися файл графічної бібліотеки egavga.bgi. p>
Вибір необхідного пункту меню здійснюється за
допомогою клавіш управління курсором. Для
активізації потрібно натиснути ENTER. p>
Вихід з програми - клавіша ESC або вибір пункту
"Вихід". P>
Висновок h2>
У курсової роботі вирішена задача дослідження
математичних функцій. p>
Розроблено алгоритм розв'язання поставленої задачі. За
цьому алгоритму мовою Turbo C + + складена і налагоджена програма, аналіз
роботи якої показав, що поставлене завдання успішно вирішується. p>
Список літератури h2>
1.Бьярн Страуструп. Мова програмування С + +. У двох
частинах. Пер. з англ.
Київ: "ДіаСофт", 1993.-296 с., Іл. P>
2.Корріган Джон Комп'ютерна графіка: Секрети і
рішення: Пер з англ. -М.: Ентропія, 1995. - 352 с., Іл. P>
ДОДАТОК 1 p>
Роздруківка програми p>
# include p>
# include
p>
# include
p>
# include
p>
# include
p>
# include
p>
// Драйвер - VGA, Режим - 640x480x16 p>
int
drv = VGA, mode = VGAHI; p>
// Структура, що описує меню p>
struct menu_ ( p>
int num;// Кількість пунктів p>
int onum;// Кількість опитуваних пунктів p>
char
capt [6] [20];// Імена пунктів p>
); p>
// Глобальні змінні p>
float MinX =- 4;//
Початкове значення X p>
float MaxX = 4;
//Кінцеве значення X p>
float MX = 80;//
Масштаб по X p>
float MY = 80;//
Масштаб по Y p>
int CF = 0;//
Номер функції p>
int SC = 20;
//Число рядків у таблиці p>
// Повертає 0, якщо неможливо підрахувати функцію
при даному X, p>
// інакше змінює Y і повертає 1 p>
int fun (float
x, float * y) ( p>
switch (CF) ( p>
case (0): p>
* y = sin (x); p>
return 1; p>
case (1): p>
* y = cos (x); p>
return 1; p>
case (2): p>
* y = x * x; p>
return 1; p>
case (3): p>
if (x <0) return 0; p>
* y = sqrt (x); p>
return 1; p>
case (4): p>
if (fabs (x) <0.0000001) return 0; p>
* y = 1/fabs (x); p>
return 1; p>
case (5): p>
if (fabs (x) <0.0000001) return 0; p>
* y = 2 * sin (x * x)/x; p>
return 1; p>
) p>
return 0; p>
) p>
// Висновок графіка функції на екран p>
void output () ( p>
float x;// Чергова точка p>
float y;// графіка p>
float stp;// Крок зміни X p>
float px, py;// Попередня точка p>
int rp = 0;// 1 - якщо попередня точка
існує p>
int rt = 0;// 1 - якщо поточна точка існує p>
// Вихід при неправильно заданому діапазоні p>
if
((MaxX-MinX) <= 0) return; p>
// Установка початкових значень p>
x = MinX; p>
stp = (MaxX-MinX)/320; p>
// Висновок ліній p>
setcolor (12); p>
line (0,240,639,240); p>
if ((MinX <0) & & (MaxX> 0)) p>
line ((0-MinX) * MX, 0, (0-MinX) * MX, 480); p>
setcolor (15); p>
// Висновок функції p>
do ( p>
// Знаходження
черговий точки p>
rt = fun (x, & y); p>
if (rt == 0) ( p>
//
Якщо точки немає - скидання значення попередньої p>
rp = 0; p>
) else ( p>
// Інакше --
перевірка: p>
if (rp == 0)
( p>
// Якщо
попередньої немає, ставимо крапку p>
putpixel ((x-MinX) * MX, (240-y * MY), 15); p>
rp = 1; p>
) else ( p>
// Інакше малюємо
лінію p>
line ((px-MinX) * MX, (240-py * MY), (x-MinX) * MX, (240-y * MY )); p>
) p>
// Нові
значення попередньої точки p>
px = x; p>
py = y; p>
) p>
// Нове
значення X p>
x + = stp; p>
) while
(x
) p>
// Процедура обробки вертикального меню p>
// Параметри: меню, координата X виведення меню p>
int
use_scroll (menu_ m, int x) ( p>
int n;//
Лічильник p>
int vp = 0;// Вибраний пункт p>
char c;// Лічені з клавіатури символ p>
// Очищення місця під меню p>
setfillstyle (1,8); p>
settextjustify (1,1); p>
bar (x, 0, x +105,479); p>
do ( p>
// Висновок пунктів меню p>
for (n = 0; n
//
Виділення кольором вибраного пункту і неактивних поселдніх пунктів p>
if (n == vp) ( p>
setfillstyle (1,4); p>
setcolor (15); p>
) else ( p>
if (n> (m.onum-1)) ( p>
setfillstyle (1,8); p>
setcolor (10); p>
) else ( p>
setfillstyle (1,1); p>
setcolor (14); p>
) p>
) p>
// Висновок пункту p>
bar (x +5,5 +30 * n, x +100,25 +30 * n); p>
rectangle (x +6,6 +30 * n, x +99,24 +30 * n); p>
outtextxy (x +55,15 +30 * n, m.capt [n ]); p>
) p>
// Опитування
клавітаури p>
do ( p>
c = getch (); p>
if (c == 0)
c = getch (); p>
// Клавіша Вниз p>
if (c == 72) ( p>
vp -; p>
if (vp <0) vp = m.onum-1; p>
) p>
// Клавіша На початок p>
if (c == 80) ( p>
vp ++; p>
if (vp> = m.onum) vp = 0; p>
) p>
) while
((c! = 72) & & (c! = 80) & & (c! = 13) & & (c! = 27 )); p>
) while ((c == 72) | | (c == 80 )); p>
// Повернення вибраннго пункту p>
if (c == 13)
return vp; p>
// Повернення -1 при ESC p>
return -1; p>
) p>
// Процедура обробки горизонтального меню p>
int use_menu (menu_
m) ( p>
int n;// Лічильник p>
int vp = 0;// Вибраний пункт p>
char c;// Символ p>
// Очищення місця під меню p>
setfillstyle (1,0); p>
settextjustify (1,1); p>
bar (0,0,639,25); p>
do ( p>
// Висновок пунктів меню p>
for (n = 0; n
//
Виділення кольором p>
if (n == vp)
( p>
setfillstyle (1,4); p>
setcolor (15); p>
) else ( p>
if (n> (m.onum-1)) ( p>
setfillstyle (1,8); p>
setcolor (10); p>
) else ( p>
setfillstyle (1,1); p>
setcolor (14); p>
) p>
) p>
// Висновок пункту p>
bar (10 +100 * n, 5,105 +100 * n, 25); p>
rectangle (11 +100 * n, 6,104 +100 * n, 24); p>
outtextxy (60 +100 * n, 15, m.capt [n ]); p>
) p>
// Опитування
клавіатури p>
do ( p>
c = getch (); p>
if (c == 0)
c = getch (); p>
if (c == 75) ( p>
// Вліво p>
vp -; p>
if (vp <0) vp = m.onum-1; p>
) p>
if (c == 77) ( p>
// Вправо p>
vp ++; p>
if (vp> = m.onum) vp = 0; p>
) p>
) while
((c! = 75) & & (c! = 77) & & (c! = 13) & & (c! = 27 )); p>
) while ((c == 75) | | (c == 77 )); p>
if (c == 13) return vp; p>
return -1; p>
) p>
// Введення числа p>
// Параметри: координати прямокутної рамочки і
значення за замовчуванням p>
float
InputFloat (int x1, int y1, int x2, int y2, float last) ( p>
char
s [100];// Рядок p>
char s1 [100];// Проміжна рядок p>
char c;// Символ p>
//Висновок рамочки p>
setfillstyle (1,2); p>
setcolor (14); p>
bar (x1, y1, x2, y2); p>
rectangle (x1 1, y1 1, x2-1, y2-1); p>
sprintf (s, "% 2.3f", last); p>
settextjustify (0,1); p>
//
Опитування клавіатури p>
do ( p>
// Висновок
рядки і курсору p>
bar (x1 2, y1 2, x2-2, y2-2); p>
strcpy (s1, s); p>
strcat (s1 ,"_"); p>
outtextxy (x1 5, y1 10, s1); p>
c = getch (); p>
if
(((c> = '0')&&( c <= '9'))||( c =='.')||( c =='-')) ( p>
//
Натиснуто дозволений символ - додавання p>
s [strlen (s) +1] = 0; p>
s [strlen (s)] = c; p>
) p>
// Натиснуто BackSpace p>
if ((c == 8) & & (strlen (s)> 0))
s [strlen (s) -1] = 0; p>
) while
((c! = 13) & & (c! = 27)); p>
// Якщо не ESC - переклад нового значення з рядка в
число p>
if (c! = 27)
sscanf (s, "% f", & last); p>
return
last; p>
) p>
// Введення рядка p>
// Параметри: координати прямокутної рамочки і
значення за замовчуванням p>
char *
InputString (int x1, int y1, int x2, int y2, char * last) ( p>
char s [100]; p>
char s1 [100]; p>
char c; p>
// Висновок рамочки p>
setfillstyle (1,2); p>
setcolor (14); p>
bar (x1, y1, x2, y2); p>
rectangle (x1 1, y1 1, x2-1, y2-1); p>
strcpy (s, last); p>
settextjustify (0,1); p>
// Опитування клавіатури p>
do ( p>
// Висновок
рядки і курсору p>
bar (x1 2, y1 2, x2-2, y2-2); p>
strcpy (s1, s); p>
strcat (s1 ,"_"); p>
outtextxy (x1 5, y1 10, s1); p>
c = getch (); p>
if
((c! = 13) & & (c! = 27) & & (c! = 8)) ( p>
// Натиснуто
дозволений символ - додавання p>
s [strlen (s) +1] = 0; p>
s [strlen (s)] = c; p>
) p>
if ((c == 8) & & (strlen (s)> 0))
s [strlen (s) -1] = 0; p>
) while
((c! = 13) & & (c! = 27 )); p>
// Якщо ESC - повертаємо старе значення p>
if (c == 27) return
last; p>
return s; p>
) p>
// Вивід таблиці у файл p>
void prttabl (char *
fname) ( p>
FILE *
f;// Покажчик на файл p>
float stp;// Крок зміни функції p>
float x;// Поточна p>
float y;//
точка p>
// Вихід при неправильно заданому діапазоні p>
if
((MaxX-MinX) == 0) return; p>
// Відкриваємо файл на запис p>
f = fopen (fname, "wb "); p>
// Початкові значення p>
x = MinX; p>
stp = (MaxX-MinX)/SC; p>
do ( p>
// Якщо значення функції вірно - виведення у файл p>
if (fun (x, & y))
fprintf (f, "Fun (% f) =% f nr", x, y); p>
x + = stp; p>
) while (x <= MaxX); p>
// Закриваємо файл p>
fclose (f); p>
) p>
// Основна програма p>
void main () ( p>
char s [30]; p>
// Опис меню p>
menu_ m1; p>
menu_ fun; p>
menu_ dia; p>
menu_ mas; p>
menu_ tabl; p>
strcpy (m1.capt [0], "Функціяx0 "); p>
strcpy (m1.capt [1], "Діапазонx0 "); p>
strcpy (m1.capt [2], "Масштабx0 "); p>
strcpy (m1.capt [3], "Табліцаx0 "); p>
strcpy (m1.capt [4], "Вихід x0 "); p>
m1.num = 6; p>
m1.onum = 5; p>
strcpy (fun.capt [0], "Sin (X) x0 "); p>
strcpy (fun.capt [1], "Cos (X) x0 "); p>
strcpy (fun.capt [2], "X ^ 2x0"); p>
strcpy (fun.capt [3], "Sqrt (X) x0 "); p>
strcpy (fun.capt [4], "1/| X | x0 "); p>
strcpy (fun.capt [5], "2Sin (X ^ 2)/Xx0 "); p>
fun.num = 6; p>
fun.onum = 6; p>
strcpy (dia.capt [0], "Діапазонx0 "); p>
strcpy (dia.capt [1], "Min: x0 "); p>
strcpy (dia.capt [2], "Max: x0 "); p>
dia.num = 3; p>
dia.onum = 3; p>
strcpy (mas.capt [0], "Масштабx0 "); p>
strcpy (mas.capt [1], "Y: x0 "); p>
strcpy (mas.capt [2], "X: x0 "); p>
mas.num = 3; p>
mas.onum = 2; p>
strcpy (tabl.capt [0], "Табліцаx0 "); p>
strcpy (tabl.capt [1], "На екранx0 "); p>
strcpy (tabl.capt [2], "В файлx0 "); p>
strcpy (tabl.capt [3], "Кількість
строкx0 "); p>
tabl.num = 4; p>
tabl.onum = 4; p>
// Ініціалізація графіки p>
initgraph (& drv, & mode ,""); p>
for (;;) ( p>
// Висновок
графіка функції p>
cleardevice (); p>
output (); p>
strcpy (m1.capt [5], fun.capt [CF ]); p>
// Опитування меню p>
switch (use_menu (m1)) ( p>
case 0: p>
CF = use_scroll (fun, 0); p>
break; p>
case 1: p>
switch (use_scroll (dia, 105)) ( p>
case
1: p>
MinX = InputFloat (210,30,310,45, MinX); p>
break; p>
case
2: p>
MaxX = InputFloat (210,50,310,65, MaxX); p>
break; p>
) p>
sprintf (dia.capt [1], "Min:
% 2.3f ", MinX); p>
sprintf (dia.capt [2], "Max:
% 2.3f ", MaxX); p>
MY = MX = (640/(MaxX-MinX )); p>
sprintf (mas.capt [1], "Y:% 2.1f", MY); p>
sprintf (mas.capt [2], "X:% 2.1f", MX); p>
break; p>
case 2: p>
switch (use_scroll (mas, 205)) ( p>
case
1: p>
MY = InputFloat (310,30,410,45, MY); p>
break; p>
) p>
sprintf (mas.capt [1], "Y:% 2.1f", MY); p>
sprintf (mas.capt [2], "X:% 2.1f", MX); p>
break; p>
case 3: p>
switch (use_scroll (tabl, 305)) ( p>
case (1): p>
cleardevice (); p>
prttabl ( "conx0");//
Як файлу - консоль p>
getch (); p>
break; p>
case (2): p>
prttabl (InputString (410,30,510,45, "Prn ")); p>
break; p>
case (3): p>
SC = InputFloat (410,30,510,45, SC); p>
break; p>
) p>
sprintf (tabl.capt [3], "Строк:% d", SC); p>
break; p>
case -1: p>
case 4: p>
return; p>
) p>
) p>
) p>
Для підготовки даної роботи були використані
матеріали з сайту http://kurslab.chat.ru/
p>