Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Порядок виконання лабораторної роботи
1. Складіть програму для програмної перевірки типу кодування, заданого за замовчуванням (визначте довжину в байтах типу TCHAR). 2. Визначте тип кодування по заданих макросах в командному рядку. Для цього визначимо командний рядок для трансляції програми: Properties→C/C++→Command Line Усі змінні, які задаються при трансляції, задаються параметром /D. Якщо визначено змінну UNICODE, то використовується режим UNICODE, якщо така змінна не задана, то використовується режим ANSI. 3. Перемикніть режим завдання символу на протилежний. Для перемикання режиму з UNICODE в режим ANSI використовують таку послідовність вибору пунктів меню: Properties→General→Character Set→ Use Multi-Byte Character Set Для перемикання з режиму ANSI в режим UNICODE використовують: Properties→General→Character Set→UseUnicode Character Set. 4. Після перемикання режиму знову перевірте тип символу за замовчуванням та командний рядок. (Після трансляції!!!) 5. Завдайте ПІБ членів своєї сім’її в ANSI та виведіть задані значення. Для виведення букв кирилиці необхідно встановити локальні режими. Для цього використовуються файл заголовку і функція: #include <locale.h> … TCHAR * _tsetlocale ( int category, const TCHAR *locale ); де: category – зазвичай (LC_ALL); locale – рядок, який визначається мовою, для якої встановлюється: _T("Russian") – російська мова; _T("Ukrainian") – українська мова. Функція повертає 0, якщо функція не може бути виконана. 6. Переведіть задані рядки в UNICODE за допомогою функції (MultiByteToWideChar). 7. Виведіть отриманий масив. Перевірте можливість виведення кожним з 3-х способів: - функція _tprintf, якщо встановлено локальні режими; - функція MessageBox int MessageBox (0, <Рядок, який виводиться>, <Заголовок вікна>, MB_OK)) ; - функція WriteConsole (Дескриптор, <Рядок, який виводиться>, <Довжина рядка в символах>, <Адреса довжини рядка, який виведено>, 0). Зробіть висновки відносно можливості їх використання. 8. Виконайте упорядкування масиву рядків, заданих в UNICODE. Для сортування треба використовувати універсальну стандартну функцію qsort: void qsort( void *base, // Масив, що упорядковуємо size_t num, // Кількість елементів масиву; size_t width, // Ширина елементу масиву; int (__cdecl *compare )(const void *, const void *) ); // Функція для порівняння елементів масиву 9. Виконайте зворотне перетворення масиву з Unicode в ANSI. 10. Виведіть отриманий результат 11. Завдано текстовий файл. Незалежно від способу кодування символів в цьому файлі, переставити всі символи в зворотному порядку. Символи кінця рядка залишити в правильному порядку. Зміст звіту
Звіт повинен вміщувати: - повний опис усіх типів і функцій, які використовуються для забезпеченості універсальності кодування; - повний опис усіх типів і функцій, які використовуються для виведення інформації в консольному режимі на російській (українській) мові; - тексти розробленої програми з коментарями; - тести для перевірки правильності програми; - Висновки по роботі
Контрольні запитання і завдання 1. Навіщо створювати універсальні додатки для роботи з ANSI, UNICODE? 2. Як забезпечити універсальність об’явлення символу? 3. Які функції використовуються для введення та виведення універсальних типів даних? 4. Як встановити локальні характеристики для виведення інформації російською(українською) мовами? 5. Що треба змінити в програмі для упорядкування масиву ANSI символів?
СТВОРЕННЯ ТА ВИКОРИСТАННЯ БІБЛІОТЕК Мета роботи Вивчити прийоми та методи створення та використання статичний та динамічних бібліотек Методичні вказівки з організації самостійної роботи студентів При підготовці до лабораторної роботи необхідно повторити матеріал відповідних лекцій та ознайомитися з [3, c. 100 - 106 ]. Загальна характеристика статичних бібліотек Статичні бібліотеки (файл з розширенням lib) компонується разом з додатком, в якому використовується ця бібліотека. Переваги статичних бібліотек: - статична бібліотека утворює разом з рештою додатку єдине ціле, тобто для використання додатка достатньо мати один файл типу .exe. - простота використання за рахунок того, що використання функції зі статичної бібліотеки нічим не відрізняється від використання функцій, визначений в додатку. Недоліки статичних бібліотек: - бібліотеки залежать від середовища, в якому вони створені. Так, бібліотеку, яку було створено в середовищі С++ Builder, не можна використовувати в середовищі Visual Studio та навпаки; - при зміні коду бібліотеки потрібна повторна компоновка усіх додатків, які використовують бібліотеку; - якщо декілька додатків використовують одну і ту ж бібліотеку, копія цієї бібліотеки зберігається в пам’яті кожного додатку. Загальна характеристика динамічних бібліотек Динамічні бібліотеки (Dynamic Link Library - DLL), файли з розширенням DLL, завантажуються під час завантаження модуля, який використовує бібліотеку, або під час його виконання. Переваги DLL: - бібліотеки не залежать від середовища, в якому вони створені. Так, бібліотеку, яку було створено в середовищі С++ Builder, може бути використано в середовищі Visual Studio та навпаки; - при зміні коду бібліотеки не потрібна повторна компоновка додатків, які використовують цю бібліотеку, ось чому операційна система використовує цей тип бібліотек для модулів, які можуть змінюватися в залежності від версії та в разі помилок; - якщо декілька додатків використовують одну і ту ж бібліотеку, копія цієї бібліотеки зберігається в пам’яті тільки один раз. Недоліки DLL: - окрім програми, яка виконується необхідно мати додатковий модуль – саму бібліотеку; - функції DLL використовувати складніше, ніж функції статичної бібліотеки. Решта переваг та недоліків DLL залежать від режимів використання бібліотеки цього типу. Порівняйте переваги і недоліки кожного типу бібліотек і зробіть висновки по тому, коли треба використовувати кожний тип бібліотеки. |
||
Последнее изменение этой страницы: 2018-05-29; просмотров: 343. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |