Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Топ:
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Интересное:
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Если при работе с функцией open() идет обращение к несуществующему файлу, то компилятор создаст новый пустой файл. Поэтому необходимо проверять, был ли открыт уже существующий файл. Функция fail() находится в библиотеке fstream.h и результатом этой функции является логическое выражение, и если обращение к функции open() было выполнено неудачно, то fail() возвращает значение “истина”.
# include < iostream >
# include < fstream >
# include < stdlib.h >
main () {
ifstream in;
in.open (“data.txt”, ios::nocreate);
if (in.fail()) {
cout << ” File doesn’t exist \n ”;
exit (1);
}
Для проверки конца файла применяется функция eof() (end of file).
Пример. Требуется переписать последовательность действительных чисел из одного файла в другой.
# include < fstream.h >
main () {
ifstream A;
ofstream B;
A.open (“C:\\Documents and Settings\\POVT\\Data.txt”);
B.open (“C:\\result.txt”);
double a;
while (!A.eof ()) //пока не конец файла
{
A >> a;
B << a << endl;
}
A.close ();
B.close ();
return 0;
}
Условие в скобках оператора while можно написать другим способом, тогда программа будет иметь вид:
# include < fstream.h >
main () {
ifstream A;
ofstream B;
A.open (“C:\\Documents and Settings\\POVT\\Data.txt”);
B.open (“C:\\result.txt”);
double a;
while (A >> a) // пока из потока А идут переменные а
{
B << a << endl;
}
A.close ();
B.close ();
return 0;
}
Форматированный вывод данных
Форматирование – преобразование данных в соответствии с установленными параметрами.
При выводе форматирование позволяет получить данные в файле или на экране в определенном формате. При вводе данных форматирование позволяет считывать данные как значения определенного типа.
Для форматирования в языке С++ используются манипуляторы и функции.
Манипулятор – это функция, которая используется во входном или выходном потоке после операций >> и << (взять или отправить в поток). Манипуляторы бывают двух типов: без параметров и с параметрами.
Манипуляторы без параметров находятся в библиотеке iostream.h.
| Манипулятор | Описание |
| dec | Используется для перевода числа в десятичную систему счисления |
| hex | Используется для перевода числа в шестнадцатеричную систему счисления |
| oct | Используется для перевода числа в восьмеричную систему счисления |
| endl | Используется для вставки конца строки, выгружения из буфера |
| ends | Вставляет нулевой признак конца строки |
Пример использования:
int a = 10;
cout << oct << a << ends;
cout << hex << a << endl;
cout << dec << a;
Манипуляторы с параметрами находятся в библиотеке iomanip.h
| Манипулятор | Описание |
| setw(n) | Устанавливает ширину поля вывода размером в n позиций |
| setfill(c) | Устанавливает символ - «заполнитель» с |
| setprecision(n) | Устанавливает точность при выводе действительных чисел |
| setiosflags(flag) | Используется для установки флагов форматирования |
| resetiosflags(flag) | Используется для сброса флагов форматирования |
Флаги форматирования устанавливают в потоке правила форматирования.
| Флаг | Описание |
| fixed | Используется для вывода вещественных чисел в формате с фиксированной запятой |
| scientific | Используется для представления вещественных чисел с плавающей запятой |
| showpoint | Используется для отображения в числе десятичной точки, даже в тех случаях, когда, дробная часть равна нулю |
| showpos | Используется для вывода знака «+» перед положительными значениями |
Пример использования:
double a = 2.5;
cout << setw(10) << setfill (‘*’) << setprecision (2);
cout << setiosflags (ios::showpoint) << a << endl;
a = 5E-10;
cout << setw (10) << setfill (‘*’) << setprecision (2);
cout << setiosflags (ios::showpoint | ios::scientific | ios::showpos) << a;
cout << resetiosflags (ios::showpos) << a;
Функции форматирования
Основное отличие использования функций форматирования от манипуляторов заключается в формате обращения к функции. Манипулятор используется после операции “ << ”, функция используется после операции “.” (cout.функция; cout<<манипулятор).
Функции выполняют те же действия что и манипуляторы.
| Функция | Описание |
| width(n) | Устанавливает ширину поля в n позиций |
| fill(c) | Устанавливает символ «заполнитель» с |
| precision(n) | Устанавливает точность при выводе действительных чисел |
| setf(flags) | Используется для установки флагов форматирования |
| unsetf(flags) | Используется для сброса флагов форматирования |
Пример использования:
double a=2.5;
cout.widht (10);
cout.fill (‘*’);
cout.precision (2);
cout.setf (ios::showpoint | ios::scientific | ios::showpos);
cout << a;
|
|
|
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!