50265 (666500)

Файл №666500 50265 (Форматування даних в програмах C++)50265 (666500)2016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

МНС України

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

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

” Форматування даних в програмах 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 &)); При використанні маніпуляторів слід включити заголовкові файл , в якому визначено вбудовані маніпулятори.

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

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

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с.

Характеристики

Тип файла
Документ
Размер
98,42 Kb
Тип материала
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов реферата

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее