🗊Презентация Лекція №3. Потоковi манiпулятори

Нажмите для полного просмотра!
Лекція №3. Потоковi манiпулятори, слайд №1Лекція №3. Потоковi манiпулятори, слайд №2Лекція №3. Потоковi манiпулятори, слайд №3Лекція №3. Потоковi манiпулятори, слайд №4Лекція №3. Потоковi манiпулятори, слайд №5Лекція №3. Потоковi манiпулятори, слайд №6Лекція №3. Потоковi манiпулятори, слайд №7Лекція №3. Потоковi манiпулятори, слайд №8Лекція №3. Потоковi манiпулятори, слайд №9Лекція №3. Потоковi манiпулятори, слайд №10Лекція №3. Потоковi манiпулятори, слайд №11Лекція №3. Потоковi манiпулятори, слайд №12Лекція №3. Потоковi манiпулятори, слайд №13Лекція №3. Потоковi манiпулятори, слайд №14Лекція №3. Потоковi манiпулятори, слайд №15Лекція №3. Потоковi манiпулятори, слайд №16Лекція №3. Потоковi манiпулятори, слайд №17Лекція №3. Потоковi манiпулятори, слайд №18Лекція №3. Потоковi манiпулятори, слайд №19Лекція №3. Потоковi манiпулятори, слайд №20Лекція №3. Потоковi манiпулятори, слайд №21Лекція №3. Потоковi манiпулятори, слайд №22Лекція №3. Потоковi манiпулятори, слайд №23Лекція №3. Потоковi манiпулятори, слайд №24Лекція №3. Потоковi манiпулятори, слайд №25

Вы можете ознакомиться и скачать презентацию на тему Лекція №3. Потоковi манiпулятори. Доклад-сообщение содержит 25 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





 		Лекція №3
Потокові маніпулятори
Описание слайда:
Лекція №3 Потокові маніпулятори

Слайд 2





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

Слайд 3


Лекція №3. Потоковi манiпулятори, слайд №3
Описание слайда:

Слайд 4





Зміни системи числення діють до наступної явної зміни.
Зміни системи числення діють до наступної явної зміни.
Приклад:
cout << 13<< hex<< '  '<< 13 << oct<< ' '<< 13 << endl; 
Якщо інші значення прапорів встановлені за замовчуванням, буде виведено:
13 d 15
Параметризовані маніпулятори
Нижче перераховані маніпулятори, що вимагають вказівки аргументу. Для їх використання потрібно підключити до програми заголовний файл <iomanip>.
Описание слайда:
Зміни системи числення діють до наступної явної зміни. Зміни системи числення діють до наступної явної зміни. Приклад: cout << 13<< hex<< ' '<< 13 << oct<< ' '<< 13 << endl; Якщо інші значення прапорів встановлені за замовчуванням, буде виведено: 13 d 15 Параметризовані маніпулятори Нижче перераховані маніпулятори, що вимагають вказівки аргументу. Для їх використання потрібно підключити до програми заголовний файл <iomanip>.

Слайд 5


Лекція №3. Потоковi манiпулятори, слайд №5
Описание слайда:

Слайд 6


Лекція №3. Потоковi манiпулятори, слайд №6
Описание слайда:

Слайд 7





Приклад використання параметризованих маніпуляторів. Для нього наведемо приклад, який робить аналогічний форматований вивід інформації про студентів, тільки формат виведення чисел встанови у вигляді мантиси з порядком
Приклад використання параметризованих маніпуляторів. Для нього наведемо приклад, який робить аналогічний форматований вивід інформації про студентів, тільки формат виведення чисел встанови у вигляді мантиси з порядком
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
const int n=2;
//Створимо структуру для зберігання інформації про студентів з двома полями ПІБ та середній бал успішності
Описание слайда:
Приклад використання параметризованих маніпуляторів. Для нього наведемо приклад, який робить аналогічний форматований вивід інформації про студентів, тільки формат виведення чисел встанови у вигляді мантиси з порядком Приклад використання параметризованих маніпуляторів. Для нього наведемо приклад, який робить аналогічний форматований вивід інформації про студентів, тільки формат виведення чисел встанови у вигляді мантиси з порядком #include "stdafx.h" #include <iostream> #include <iomanip> using namespace std; const int n=2; //Створимо структуру для зберігання інформації про студентів з двома полями ПІБ та середній бал успішності

Слайд 8






struct Tstudent
{
char FIO[20];
	float bal;
}StudetnPotok[n]={"Petrov",3.5,"Sidorov",5.0/3};
int main (int argc, char * const argv[]) 
{
	for(int i=0;i<n;i++) 
	{
Описание слайда:
struct Tstudent { char FIO[20]; float bal; }StudetnPotok[n]={"Petrov",3.5,"Sidorov",5.0/3}; int main (int argc, char * const argv[]) { for(int i=0;i<n;i++) {

Слайд 9






cout<<resetiosflags(ios::right);// те ж що і
cout.unsetf(ios::right);
cout<<setiosflags(ios::left);	// те ж що і
cout.setf(ios::left);
cout<<setfill('.');		//те ж що і cout.fill('.');
cout<<setw(15);		// те ж що і  cout.width(15); 
cout<<setiosflags(ios::fixed); //те ж що і
cout.setf(ios::fixed);
cout<<setiosflags(ios::scientific);//   cout.setf(ios::scientific);
cout<<resetiosflags(ios::fixed);//   cout.unsetf(ios::scientific);
Описание слайда:
cout<<resetiosflags(ios::right);// те ж що і cout.unsetf(ios::right); cout<<setiosflags(ios::left); // те ж що і cout.setf(ios::left); cout<<setfill('.'); //те ж що і cout.fill('.'); cout<<setw(15); // те ж що і cout.width(15); cout<<setiosflags(ios::fixed); //те ж що і cout.setf(ios::fixed); cout<<setiosflags(ios::scientific);// cout.setf(ios::scientific); cout<<resetiosflags(ios::fixed);// cout.unsetf(ios::scientific);

Слайд 10






cout<<setprecision(3);	//теж що і
	cout.setf(ios::scientific);
		cout <<StudetnPotok[i].FIO;//виводимо прізвище    
		cout<<setw(10);		//те ж що і
 cout.width(10)
		cout<<setiosflags(ios::right);// те ж що і
cout.setf(ios::right);
		cout<<setfill('_');		//cout.fill('_')
		cout<<StudetnPotok[i].bal<<'\n'; 
}
	cin.get();
	return 0;
}
Описание слайда:
cout<<setprecision(3); //теж що і cout.setf(ios::scientific); cout <<StudetnPotok[i].FIO;//виводимо прізвище cout<<setw(10); //те ж що і cout.width(10) cout<<setiosflags(ios::right);// те ж що і cout.setf(ios::right); cout<<setfill('_'); //cout.fill('_') cout<<StudetnPotok[i].bal<<'\n'; } cin.get(); return 0; }

Слайд 11






Цей фрагмент виведе на екран наступний результат:
Petrov........._3.500e+00
Sidorov........_1.667e+00
Використовуючи маніпулятори методи можна об'єднувати. Наступний фрагмент коду робить той же самий висновок за винятком того що змінений формат виведення чисел
#include <iostream>
#include <iomanip>
using namespace std;
Описание слайда:
Цей фрагмент виведе на екран наступний результат: Petrov........._3.500e+00 Sidorov........_1.667e+00 Використовуючи маніпулятори методи можна об'єднувати. Наступний фрагмент коду робить той же самий висновок за винятком того що змінений формат виведення чисел #include <iostream> #include <iomanip> using namespace std;

Слайд 12






const int n=2;
struct Tstudent
{
	char FIO[20];
	float bal;
}StudetnPotok[n]={"Petrov",3.5,"Sidorov",5.0/3};
int main (int argc, char * const argv[]) 
{
	for(int i=0;i<n;i++) 
	{
cout<<resetiosflags(ios::right)<<setiosflags(ios::left)<<setfill('.')
			<<setw(15)<<StudetnPotok[i].FIO;
Описание слайда:
const int n=2; struct Tstudent { char FIO[20]; float bal; }StudetnPotok[n]={"Petrov",3.5,"Sidorov",5.0/3}; int main (int argc, char * const argv[]) { for(int i=0;i<n;i++) { cout<<resetiosflags(ios::right)<<setiosflags(ios::left)<<setfill('.') <<setw(15)<<StudetnPotok[i].FIO;

Слайд 13






cout<<setprecision(3)<<setw(10)<<setiosflags(ios::right|ios::fixed)
			<<setfill('_')<<StudetnPotok[i].bal<<'\n';
	}
	cin.get();
	return 0;
}
Цей фрагмент виведе на екран наступний результат:
Petrov........._______3.500
Sidorov........______1.667
Описание слайда:
cout<<setprecision(3)<<setw(10)<<setiosflags(ios::right|ios::fixed) <<setfill('_')<<StudetnPotok[i].bal<<'\n'; } cin.get(); return 0; } Цей фрагмент виведе на екран наступний результат: Petrov........._______3.500 Sidorov........______1.667

Слайд 14






Наведемо приклад, як за допомогою прапорів, методів і маніпуляторів потоку можна створити власну функцію для форматованого виведення спеціалізованих даних
Нехай у нас є інформація про студентів, яку необхідно виводити користувачеві в зручному вигляді
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
const int n=2;
Описание слайда:
Наведемо приклад, як за допомогою прапорів, методів і маніпуляторів потоку можна створити власну функцію для форматованого виведення спеціалізованих даних Нехай у нас є інформація про студентів, яку необхідно виводити користувачеві в зручному вигляді #include <iostream> #include <fstream> #include <iomanip> using namespace std; const int n=2;

Слайд 15






//Створимо структуру для зберігання інформації про студентів з двома полями ПІБ та середнім балом успішності
struct Tstudent
{
	char FIO[20];
	float bal;
}Stud[n]={"Petrov",3.5,"Sidorov",5.0/3};
void myOut(ostream &out,Tstudent *StudetnPotok,int n)
{
	for(int i=0;i<n;i++) 
	{
Описание слайда:
//Створимо структуру для зберігання інформації про студентів з двома полями ПІБ та середнім балом успішності struct Tstudent { char FIO[20]; float bal; }Stud[n]={"Petrov",3.5,"Sidorov",5.0/3}; void myOut(ostream &out,Tstudent *StudetnPotok,int n) { for(int i=0;i<n;i++) {

Слайд 16






cout<<resetiosflags(ios::right)<<setiosflags(ios::left)
			<<setfill('.')<<setw(15)<<StudetnPotok[i].FIO;	 
		cout<<setw(10)<<setiosflags(ios::right|ios::fixed)
			<<setfill('_')<<StudetnPotok[i].bal<<'\n';
	}
}
int main (int argc, char * const argv[]) 
{
Описание слайда:
cout<<resetiosflags(ios::right)<<setiosflags(ios::left) <<setfill('.')<<setw(15)<<StudetnPotok[i].FIO; cout<<setw(10)<<setiosflags(ios::right|ios::fixed) <<setfill('_')<<StudetnPotok[i].bal<<'\n'; } } int main (int argc, char * const argv[]) {

Слайд 17






// Цей фрагмент виведе на екран наступний результат:
	myOut(cout,Stud,n);
	ofstream fileout("o.txt");
	myOut(fileout,Stud,n);
	return 0;
}
Методи обміну з потоками
У потокових класах поряд з операціями вилучення >> і включення << визначені методи для неформатованого читання і запису в потік
Описание слайда:
// Цей фрагмент виведе на екран наступний результат: myOut(cout,Stud,n); ofstream fileout("o.txt"); myOut(fileout,Stud,n); return 0; } Методи обміну з потоками У потокових класах поряд з операціями вилучення >> і включення << визначені методи для неформатованого читання і запису в потік

Слайд 18





(при цьому перетворення даних не виконуються). Нижче наведені функції читання, визначені в класі istream.
(при цьому перетворення даних не виконуються). Нижче наведені функції читання, визначені в класі istream.
Описание слайда:
(при цьому перетворення даних не виконуються). Нижче наведені функції читання, визначені в класі istream. (при цьому перетворення даних не виконуються). Нижче наведені функції читання, визначені в класі istream.

Слайд 19


Лекція №3. Потоковi манiпулятори, слайд №19
Описание слайда:

Слайд 20


Лекція №3. Потоковi манiпулятори, слайд №20
Описание слайда:

Слайд 21


Лекція №3. Потоковi манiпулятори, слайд №21
Описание слайда:

Слайд 22


Лекція №3. Потоковi манiпулятори, слайд №22
Описание слайда:

Слайд 23






badbit	 = 0x04,	// Серйозна помилка, після якої
		// користуватися потоком неможливо
hardfail	= 0x08	// Несправність обладнання
}:
Станом потоку можна керувати за допомогою перерахованих нижче методів і операцій:
Описание слайда:
badbit = 0x04, // Серйозна помилка, після якої // користуватися потоком неможливо hardfail = 0x08 // Несправність обладнання }: Станом потоку можна керувати за допомогою перерахованих нижче методів і операцій:

Слайд 24


Лекція №3. Потоковi манiпулятори, слайд №24
Описание слайда:

Слайд 25





// Встановити прапор flag: 
// Встановити прапор flag: 
stream_obj.clear(rdstate() | ios::flag) 
// Встановити прапор.flag і скинути всі інші:
stream_obj.clear(ios::flag) 
// Скинути всі прапори:
stream_obj.clear()
Операція vo1d * () неявно викликається всякий раз, коли потік порівнюється з 0. Це дозволяє записувати цикли виду:
while (stream_obj){
// Все в порядку, можна проводити введення / виведення
}
Описание слайда:
// Встановити прапор flag: // Встановити прапор flag: stream_obj.clear(rdstate() | ios::flag) // Встановити прапор.flag і скинути всі інші: stream_obj.clear(ios::flag) // Скинути всі прапори: stream_obj.clear() Операція vo1d * () неявно викликається всякий раз, коли потік порівнюється з 0. Це дозволяє записувати цикли виду: while (stream_obj){ // Все в порядку, можна проводити введення / виведення }



Похожие презентации
Mypresentation.ru
Загрузить презентацию