Форматування даних в програмах C++

Правила відтворення даних при введенні. Введення-виведення даних та їх формування. Буферизований вихідний потік для повідомлення про помилки. Управління форматами за допомогою компонентних функцій класу ios. Визначення користувальницьких маніпуляторів.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык украинский
Дата добавления 23.01.2011
Размер файла 16,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

МНС України

Львівський Державний Університет Безпеки Життєдіяльності

Реферат на тему:

” Форматування даних в програмах C++”

Підготував

студент групи ІБ-21

Горон Роман

Львів 2009

Вступ

Формати представлення що виводиться інформації та правила відтворення даних при введенні можуть бути змінені програмістом за допомогою прапорів форматування. Ці прапори успадковані всіма потоками з даного класу ios. Прапори форматування реалізовані у вигляді окремих фіксованих бітів і зберігаються в protected компоненті класу long x_flags. Для доступу до них є відповідні public функції.

Під час введення-виведення можна виконувати форматування даних.

Щоб використовувати операції>> і <<з даними користувача типів, що визначаються користувачем, необхідно розширити дію цих операцій, ввівши нові операції-функції. Першим параметром операції - функції має бути посилання на об'єкт потокового типу, другий - посилання або об'єкт для користувача типу. У файлі iostream.h визначені наступні об'єкти, пов'язані з стандартними потоками введення-виводу:

cin - об'єкт класу istream, пов'язаний зі стандартним буферізірованним вхідним потоком;

cout - об'єкт класу ostream, пов'язаний зі стандартним буферизуєрованным вихідним потоком;

cerr - не буферізірованний вихідний потік для повідомлення про помилки;

clog - буферізірованний вихідний потік для повідомлення про помилкиках.

Форматування.

Безпосереднє застосування операцій введення <<і виведення>> до стандартним потокам cout, cin, cerr, clog для даних базових типів привадит до використання "замовчуваних" форматів зовнішнього представлення пересилаються значень.

Крім прапорів форматування використовуються наступні protected компонентні дані класу ios:

int x_width - мінімальна ширина поля виводу.

int x_precision - точність подання дійсних чисел (колікість цифр дробової частини) при виведенні;

int x_fill - символ-заповнювач при виведенні, пробіл - за умовчанням.

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

int width ();

int width (int);

int precision ();

int precision (int);

char fill ();

char fill (char);

Маніпулятори.

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

Маніпуляторами називаються спеціальні функції, що дозволяють модифіковані роботу потоку. Особливість маніпуляторів полягає в те, що їх можна використовувати в якості правого операнда операції>> або <<. Як лівого операнда, як зазвичай, використовується потік (посилання на потік), і саме на цей потік впливає маніпулятор.

Для забезпечення роботи з маніпуляторами в класах istream і ostream є такі перевантажені функції operator. istream & operator>> (istream & (* _f) (istream &)); ostream & operator <<(ostream & (* _f) (ostream &)); При використанні маніпуляторів слід включити заголовкові файл <iomanip.h>, в якому визначено вбудовані маніпулятори.

Визначення користувальницьких маніпуляторів.

Порядок створення призначеного для користувача маніпулятора з параметрами, наприклад для висновку, наступний:

1. Визначити клас (my_manip) з полями: параметри маніпулятора, вказівник на функцію типу ostream & (* f) (ostream &, <параметри маніпулятора>);

2. Визначити конструктор цього класу (my_manip) з ініціалізаєю полів.

3. Визначити, в цьому класі дружню функцію - operator <<.

Ця функція в якості правого аргументу приймає об'єкт класу my_manip, лівого аргументу (операнда) потік ostream і повертає потік ostream як результат виконання функції * f. Наприклад, typedef far ostream & (far * PTF) (ostream &, int, int, char); class my_man ( int w; int n; char fill; PTF f; public: / / конструктор my_man (PTF F, int W, int N, char FILL): f (F), w (W), n (N), fill (FILL) () friend ostream & operator <<(ostream &, my_man); ); ostream & operator <<(ostream & out, my_man my) (return my.f (out, my.w, my.n, my.fill);)

4. Визначити функцію типу * f (fmanip), що приймає потік і параметри маніпулятора і повертаються потік. Ця функція власне і виконує форматування. Наприклад, ostream & fmanip (ostream & s, int w, int n, char fill) (s.width (w); s.flags (ios:: fixed); s.precision (n); s.fill (fill); return s;)

Масовий імпорт і експорт даних за допомогою програми bcp

У цьому розділі представлений огляд використання програми bcp для експорту даних з будь-якого місця розташування до бази даних SQL Server, в якій може застосовуватися інструкція SELECT, включаючи секціонірованние подання.

Програма bcp (bcp.exe) являє собою інструмент командного рядка, що використовує API-інтерфейс програми масового копіювання (BCP). Програма bcp виконує наступні завдання:

масовий експорт даних з таблиці SQL Server у файл даних;

масовий експорт даних із запиту;

масовий імпорт даних з файлу даних до таблиці SQL Server;

створення файлів форматування.

Програма bcp викликається командою bcp. Застосування команди bcp для масового імпорту вимагає розуміння схеми таблиці і типів даних її стовпців (якщо не використовується заздалегідь створений файл форматування).

Програма bcp може експортувати дані з таблиці SQL Server у файл даних для використання іншими програмами. Програма також може імпортувати дані в таблицю SQL Server з іншої програми, звичайно іншої системи управління базою даних (СУБД). Спочатку виконується експорт даних з іншої програми у файл даних, а потім окремою операцією дані копіюються з файлу даних до таблиці SQL Server.

Програма bcp надає ключі для вказівки типу даних файлу даних та інших відомостей. Якщо такі ключі не задані, програма виводить запрошення для введення цих відомостей, наприклад для типу полів даних у файлі даних. Потім команда запитує, чи потрібно створити файл форматування, що містить дані відповіді. Щоб забезпечити гнучкість для майбутніх операцій масового імпорту та експорту, часто використовується файл форматування. У наступних командах bcp можна вказати файл форматування для еквівалентних файлів даних. Додаткові відомості див Вказівка форматів даних для сумісності з допомогою програми bcp.

Сімейство класів iostream забезпечує операції вводу-виводу між програмою і терміналом. Сімейство fstream використовує такий же інтерфейс для забезпечення операції вводу/ виводу між програмою і файлом. Крім того бібліотека С++ має сімейство класів sstream, яке використовує такий же інтерфейс для забезпечення вводу/виводу між програмою і об'єктом класу string. Це означає, що ті самі методи класу ostream, якы використовувались при роботі з об'єктом cout, можна використати і для передачі інформації в об'єкт класу string, а методи класу iostream, наприклад getline(), - для читання інформації із об'єкта класу string. Процес читання відформатованої інформації із об'єкту string називається внутрішнім форматуванням. Далі ми коротко розглядаємо його властивості.

Заготовочний файл sstream визначає класс ostreangstream породжений від класу ostream. Для об'єкту ostreangstream можна користуватись такими самими методами, що і для об'єкту cout, можна зробити наступне:

Ostreangstream outstr;

Double price = 55.00;

Char * ps = “for a copy of the draft C++ kstandard!”;

Outstr.precision (2);

Outstr << fixed;

Outstr << “Pay only $” << price << ps << end;

Відформатований текст направляється в буфер, причому об'єкт виконує динамічний розподіл памяті, щоб збільшити буфер при необхідності. Клас ostreangstream має функцію-елемент з іменем str(), яка повертає об'єкт класу string, ініціалізований з вмістимістю буфера:

// повертає рядок з відформатованою інформацією

String mesg = outstr. Str();

При використанні методу str() обєкт “заморожується” - після цього у нього вже не можна нічого записати.

СПИСОК ЛІТЕРАТУРИ:

1. Станек У. Windows Server 2003. Справочник администратора. - М: «Русская редакция», 2004.

2. Несвижский В. Программирование аппаратных средств в Windows. - М:«БХВ-Петербург», 2004.

3. Финогенов К.Г. Самоучитель по системным функциям MS-DOS - М: «Радио и связь»,1995. - 379 с.

4. Корпорация Cisco Systems Inc. Программа сетевой академии Cisco CCNA 1 и 2. Воспомагательное руководство. 3-е изд.: Пер. с англ.: Издательский дом «Вильямс», 2005. - 1168 с.

5. Таненбаум Э. Компьютерные сети. 4-е изд. - СПб.: Питер, 2003. - 992 с.

6. Уолл Д и др. Использование World Wide Web. 2-е издание: Пер. с англ. - К: Диалектика, 1997. - 432с.


Подобные документы

  • Меню та панелі інструментів Microsoft Excel. Введення та редагування даних. Відкриття робочої книги. Форматування табличних даних. Порядок введення формули. Стиль подання даних. Робота з майстром функцій. Сортування, фільтрація даних зведених таблиць.

    курсовая работа [1,7 M], добавлен 13.07.2014

  • Поняття бази даних та основне призначення системи управління. Access як справжня реляційна модель баз даних. Можливості DDE і OLE. Модулі: Visual Basic for Applications програмування баз даних. Система управління базами даних Microsoft SQL Server 2000.

    реферат [41,2 K], добавлен 17.04.2010

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

    курсовая работа [1,8 M], добавлен 23.04.2014

  • Використання баз даних та інформаційних систем. Поняття реляційної моделі даних. Ключові особливості мови SQL. Агрегатні функції і угрупування даних. Загальний опис бази даних. Застосування технології систем управління базами даних в мережі Інтернет.

    курсовая работа [633,3 K], добавлен 11.07.2015

  • Основні дії з файлами, які використовують програми. Диски і файли. Особливості використання даних, збережених на диску. Дискова фізична модель бази даних. Управління дисковим простором. Управління буферами даних. Стратегія заміни сторінок у фреймах.

    реферат [19,8 K], добавлен 10.08.2011

  • Базові типи змінних. Елементарний ввід-вивід. Умовні оператори та оператори множинного вибору. Основні функції вводу даних із клавіатури scanf, gets, getchar. Визначення основних (базових) типів даних. Вивід повідомлення при невірно заданому ключі.

    контрольная работа [74,6 K], добавлен 03.10.2010

  • Оператори визначення даних. Створення таблиць. Вилучення таблиць. Додавання записів. Модифікація даних. Видалення даних. Пошук даних. Database Desktop. Компонент TQuery.

    реферат [165,8 K], добавлен 13.06.2007

  • Створення баз даних і введення даних. Створення бази даних за допомогою майстра. Створення таблиць. Створення таблиці в режимі конструктора. Створення запитів за допомогою майстра. Додавання полів у бланк запиту. Зміна порядку полів.

    реферат [17,1 K], добавлен 07.10.2004

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

    презентация [352,2 K], добавлен 04.12.2014

  • Специфікація вимог для кожного з двох користувачів. Концептуальне проектування бази даних. Визначення типів сутностей та зв’язків, доменів. Перетворення концептуальної моделі даних у логічну, визначення набору відношень, підтримки цілісності даних.

    курсовая работа [55,1 K], добавлен 15.03.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.