12 Nisan 2017 Çarşamba

cpp iomanip kütüphanesi c++ #include



<iomanip> Kütüphanesi


Merhaba,


<iomanip> kütüphanesi C++ da akışların yani Giriş/Çıkış (İnput/Output) birimlerinin belirli formatlarda yazdırma fonksiyonlarını içeren bir kütüphanedir.


<iomanip> kütüphanesinde birçok fonksiyon vardır. Bunlar:

setw()-width()

setfill()

setprecision()

setbase() - resetiosflags()

setf() - unsutf()

setiosflags()


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

setw() Fonksiyonu


Girilen herhangi bir değişken için ayrılacak olan karakter genişliğini belirlemeye yarayan bir <iomanip> kütüphanesi fonksiyonudur. Diğer bir kullanım şekli ise “width()” şeklindedir.


Örnek:


Kod:

#include<iostream>

#include<iomanip>

using namespace std;

int main()

{

int sayi= 234;

cout<<setw(9)<<sayi<<endl;

cout<<setw(6)<<sayi <<endl;

cout<<setw(3)<<sayi <<endl;

return 0;

}

Çıktı:


- - - - - 234

- - - 234

234




setfill() Fonksiyonu


<iomanip> kütüphanesine ait formatlı yazdırma komutudur.Bu komutla bıraktığımız boşlukları verilen herhangi bir karakterle doldurmamızı sağlayan fonksiyondur.



Kod:


#include<iostream>

#include<iomanip>

using namespace std;

int main()

{

int sayi= 234;

cout<<setfill('*')<<setw(9)<<sayi<<endl;

cout<<setfill('*')<<setw(6)<<sayi <<endl;

cout<<setfill('*')<<setw(4)<<sayi <<endl;

return 0;

}

Çıktı:


* * * * * * 234

* * * 234

* 234



Setprecision() Fonksiyonu


Girilen ondalıklı sayıları formatlı bir şekilde ve noktadan sonraki duyarlılığı belirlemek için kullanılan bir <iomanip> fonksiyondur.



Kod:


#include<iostream>

#include<iomanip>

using namespace std;

int main()

{

double sayi= 22.70964345;

cout<<setprecision(5)<<sayi<<endl;

cout<<setprecision(7)<<sayi <<endl;

cout<<setprecision(8)<<sayi <<endl;

return 0;

}


Çıktısı:


22.70964

22. 7096434

22. 70964345


setbase() Fonksiyonu


setbase() fonsiyonu istediğimiz basamağı fonksiyona yazarak kullanılan bir <iomanip> komutudur.Ancak içine 8-10 ve 16 lık basamak değerlerini alır.



Kod:


#include <iostream>

#include <iomanip>

using namespace std;

int main ()

{

cout << setbase (16);

cout << 100 << endl;

return 0;

}

Çıktı:


64


setf() Fonksiyonu


Formatlı yazdırma tekniğinde özelikle sağa dayalı,sola dayalı hangi basamakta yazılacağını ve noktadan sonra kaç hane gösterilmesi gerekiyor diye kavramları belirlemek için kullanılan çok önemli bir fonksiyondur.


//cout.setf ( ios::right, ios::adjustfield); şeklinde kullanılır. Ve kullanımda çeşitli parametreler alabilir.


//adjustfield (left, right), basefield (dec, hex, oct), floatfield (scientific, fixed)




Kod:


#include <iostream>

#include <iomanip>

using namespace std;

int main ()

{

cout<<setw(15) //cout.width(8) diğer bir kullanım şekli

cout.setf ( ios::left);

cout.setf (ios::hex,ios::basefield); // hex(16)lık sistem seçildi

cout.setf ( ios::showbase ); // 0x aktif edildi

cout.fill(‘*');

cout << 200 << endl;

cout.setf ( ios::fixed, ios::noshowbase ); // 0x kaldırıldı

cout << 200 << endl;

return 0;

}


Çıktısı:


0X128 * * * * * * * * * * // cout << 200 << endl;

128 //cout << 200 << endl;




unsetf() Fonksiyonu


Unsetf()” komutu ise adındanda anlaşılacağı gibi “setf()” fonksiyonun tam tersi işleve sahip bir fonksiyondur. Aynı programda setf ile oluşturulan (basefield gibi) seçilen alanın format özelliklerini devre dışı bırakır ve bir önceki ya da doğal halinin görüntülenmesini sağlar.

Kullanımı // cout.unsetf ( ios_base::basefield ); şeklindedir. Bir önceki proğramda kullanılan basefield özelliğini kaldırmamızı sağlar.



Kod:


#include <iostream>

#include <iomanip>

using namespace std;

int main ()

{

cout.setf(ios_base::hex,ios_base::basefield ); //hex(16) sayı basamağı seçildi


cout << 200 << endl;

cout.unsetf (ios_base::basefield ); // onaltılık sayı sistemi geri dönüştürüldü

cout << 200 << endl; ve tekrar standart olan 10 luk sayı

basamağına dönüştürüldü.

return 0;

}


Çıktı:


0X128

200


setiosflags() Fonksiyonu


“setiosflags()” fonksiyonu ile girilen değere showbase-uppercase gibi özeliği vermezi sağlayan bir <iomanip> kütüphanesi fonsiyonudur.



Kod:


#include <iostream>

#include <iomanip>

using namespace std;

int main ()

{

cout << hex << setiosflags ( ios_base::uppercase | ios_base::showbase);

cout << 200 << endl; return 0;

}

Çıktı:


0X128 //cout << hex << setiosflags ( ios_base::uppercase | ios_base::showbase);




resetiosflags() Fonksiyonu


“Resetiosflags()” Fonksiyonu ise “setiosflags()” fonksiyonun tam tersi özelliğe sahip bir fonsiyondur. Aynı programda “setiosflags()”ile verilen formatın özelliklerini devre dışı bırakır ve bir önceki ya da doğal halinin görüntülenmesini sağlar. Yani reset atmış olur



Kod:


#include <iostream>

#include <iomanip>

using namespace std;

int main ()

{

cout << hex << setiosflags (ios_base::showbase);

cout << 200 << endl;

cout << resetiosflags (ios_base::showbase) << 100 << endl;

return 0;

}


Çıktı:


128

Hiç yorum yok:

Yorum Gönder