а ньому істотну роль грає бібліотека стандартних програм, що здійснюють взаємодію з системою. У всіх системах, сумісних з ОС UNIX, до яких відноситься і ДЕМОС, існує сумісний набір програм для введення/виведення, управління пам'яттю, перетворення даних і виконують інші функції, використання яких забезпечує можливість перенесення програм на інші ЕОМ.
. Алгоритм рішення
Основна частина програми реалізує наступну послідовність дій:
. Формує на екрані меню для вибору функцій.
. Чекає вибору тієї чи іншої функції користувачем.
. Виконує відповідний функціональний алгоритм.
. Після виконання п.3 виконується п.2 доти, поки не буде здійснений вихід з програми.
Структурна схема алгоритму представлена ??нижче (малюнок 1).
Малюнок 1.
. Опис програми
. 1 Елементи користувальницького інтерфейсу
Кнопки
При натисканні на кнопку «Повний перелік банків» в полі ListBox формується список всіх банків, для цього був написаний цикл, який буде виконуватися до тих пір, поки не закінчиться структура «Info».
При натисканні на кнопку «Накопичувальний внесок» у поле ListBox з'являється банк, в якому для даного виду вкладу найбільший відсоток на рік, для визначення цього банку був написаний цикл, який шукає максимальне значення масиву, створеного для запису числа, що визначає кількість відсотків для накопичувального внеску.
При натисканні на кнопку «Ощадний вклад» в полі ListBox з'являється банк, в якому для даного виду вкладу найбільший відсоток на рік, для визначення цього банку був написаний цикл, який шукає максимальне значення масиву, створеного для запису числа, що визначає кількість відсотків для ощадного вкладу.
При натисканні на кнопку «Депозит» в полі ListBox з'являється банк, в якому для даного виду вкладу найбільший відсоток за 3 роки, для визначення цього банку був написаний цикл, який шукає максимальне значення масиву, створеного для запису числа, що визначає кількість відсотків для депозиту.
Поле Edit
При введенні в дане поле числа, що визначає кількість років, на яке буде зроблено вклад і натисненні на кнопку «Вибрати» в поле ListBox з'являється банк, відповідний найбільш вигідним умовам для даного проміжку часу. Для визначення цього банку було створено умова, пов'язана з кількістю років.
Якщо введено менше трьох років, то буде показаний банк з найбільшим відсотком серед двох видів вкладу, а саме ощадного та накопичувального, якщо ж введено 3 і більше років, то буде показаний банк, в якому для вкладу « Депозит »найбільший відсоток.
2.2 Опис функцій
Функція WinMain призначена для початку роботи з WinApi, вона має наступні параметри: hInstance - дескриптор екземпляра додатка. Цей дескриптор містить адресу початку коду програми в її адресному просторі. Дескриптор hInstance найчастіше потрібно функціям, що працюють з ресурсами программи.hPrevInstance - дескриптор попереднього екземпляра додатка. lpCmdLine - покажчик на початок командного рядка, введеної при запуску программи.nCmdShow - це значення містить бажаний вид вікна (наприклад, згорнутий або розгорнутий)
Функція GetMessage призначена для «діалогу з Windows», вона має наступні параметри: lpMsg - покажчик на структуру повідомлення, в яку GetMessage поверне результат.hWnd - описувач вікна, від якого GetMessage прийме повідомлення (NULL означає, що GetMessage приймає повідомлення від усіх вікон, що належать потоку) .wMsgFilterMin - найменший ідентифікатор повідомлення, яке прийме GetMessage.wMsgFilterMax - найбільший ідентифікатор повідомлення, яке прийме GetMessage (якщо в значеннях параметрів wMsgFilterMin і wMsgFilterMax передати 0, функція буде приймати ВСЕ повідомлення).
Примітка: у Windows при кожному подію, що сталася в системі, відсилається «повідомлення Windows» («windows message»). Ці повідомлення повідомляють програму про події в системі, а програма у свою чергу, може на них реагувати. Повідомлення може відсилати не тільки Windows, але і самі програми. Це є одним із способів організації зв'язку між процесами в системі. Функція GetMessage не віддає управління програмі, поки не прийде яке-небудь повідомлення. Якщо прийшло повідомлення - WM_QUIT, функція GetMessage поверне 0. Тоді цикл перерветься, і програма завершить свою роботу. При будь-якому іншому повідомленні функція GetMessage повертає значення більше нуля, і починатися виконання тіла циклу. При ошібкеGetMessage повертає - 1.
Функція RegisterClass приз...