INPUT/OUTPUT FORMATİNG

Slides:



Advertisements
Benzer bir sunumlar
Java Programlama Giriş/Çıkış
Advertisements

MAP SINIFI. MAP C + + da Haritalar değer çiftlerini benzersiz anahtar içeren birleşmeli konteyner olarak sıralar. Haritalar onların anahtarlarına göre.
Nesneye Yönelik Programlama
STRİNG FONKSİYONLARI.
C# İsim uzayları(namespace)
TEMEL C PROGRAMLAMA DERSİ - 1
Yığın ve Kuyruk.
Nesneye Dayalı Programlama
Bölüm 4 İşlevlerve Modüler Programlama. 1 / 8 İşlev Tanımı /* İşlev açıklama satırı */ ( ) { }
Bölüm 2: Program Denetimi
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
C++’A GİRİŞ Yılmaz Kılıçaslan.
C++ STACK SINIFI.
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Üniversitemize yeni kayıt yaptıran öğrencilere yönelik olarak Kütüphanemizce düzenlenen oryantasyon programına; Tıp Fakültesi, Eczacılık Fakültesi, Diş.
SINIFLAR GİRİŞ Yılmaz Kılıçaslan.
Nesneye Dayalı Programlama
İSİM UZAYLARI (NAMESPACE).
C++ Yapısı Giriş-Çıkış Komutları Döngü Komutları
Bilgisayar Programlama
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
C ile Programlamaya Giriş
Paralel Programlamaya Giriş
Nesne Yönelimli Programlama Dersi
SABİT NESNE VE ELEMAN FONKSİYONLAR VE ELEMAN NESNELER
Derleyici Teorisine Giriş
Nesneye Dayalı Programlama
C++’a Giriş Yılmaz Kılıçaslan.
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Veri.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Bölüm 2 - C ile Programlamaya Giriş Başlıklar 2.1Giriş.
C++ Ders Notları 2.Ders (Dilin Yapısı)
C++ Ders Notları 3.Ders (String İşlemleri)
C++.
Paralel Programlamaya Giriş 2
Paralel Programlamaya Giriş
Görsel C# ile Windows Programlama
VERİ YAPILARI İşaretçi Nedir? Nesne Tabanlı Programlama.
2. HAFTA 2. Hafta.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Veri Yapıları ve Algoritmalar
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
3. HAFTA 3. Hafta.
BİLGİSAYAR programlama II
4. Hafta1 4. HAFTA. 4. Hafta2 Fonksiyonlar  Büyük problemler, küçük parçalara bölünerek kolay çözülür  Yazılımlar benzer modüller içerirler  Hata ayıklama.
BİLGİSAYAR programlama II
Veri yapıları Hafta3 Dizi Yapıları.
Döngü Komutları. for deyimi bir alt limitten, bir üst limite kadar programın belirli bir parçasını tekrar eder. for deyiminde sayaç artış oranı da verilmelidir.
BİLGİSAYAR programlama II
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR programlama II
Bilgisayar Programlama III C
Hafta2 Rekürsif Algoritmalar
Neden donanım kullanıyoruz? Daha hızlı (Performans) Paralel Düşük güç tüketimi Maliyet Boyut Her yere bilgisayar?
Örnek Sorular Bilgisayar Programlama BIL 107. Soru 1: Ekran çıktısında 66 yazması için boşlukları doldurunuz ______ i = 'A'; printf(____, i__); CEVAP:
KUTADGU BILIG.
BM-103 Programlamaya Giriş Güz 2016 (9. Sunu)
Algoritma ve Programlama
Bilgisayar Programlama BIL 107
C Programlama Dili Bilgisayar Mühendisliği.
Bölüm 2 - C ile Programlamaya Giriş
C’de Fonsiyonlar Aslı Ergün.
Motor Sürücü Devresi ile Kontrol
BM-103 Programlamaya Giriş Güz 2016 (10. Sunu)
DİZİLER Bellekte sıralı bir şekilde bulunan ve aynı türden bilgilerin saklandığı veri yapısına dizi (array) denir. Örneğin kullanıcıdan 7 kişinin not ortalamasını.
DİL ÇEVRİMİ Yüksek düzeyli bir dilde yazılmış bir program ancak makine diline çevrilerek bir bilgisayarda çalıştırılabilir.
FONKSİYONLAR Programlamada fonksiyon kullanmanın en önemli sebebi kodların tekrar edilmesini engellemektir. Örneğin; karekök yada üsalma işlemi yapan bir.
PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu
YAPISAL PROGRAMLAMA Hafta-6
Bölüm 5: Kontrol Yapıları II (Yenilenme-Repetition)
C++ Dilinin Yapısı C++ Ders Notları.
Sunum transkripti:

INPUT/OUTPUT FORMATİNG

~INPUT/OUTPUT formating~          C++ ‘ın Giriş/Çıkış (Input/Output) sistemi akımlar (stream) üzerinde hareket eder. Akım ise bilgiyi üretir yada alır. Akımı sanal bir cihaz gibide düşünebiliriz. Farklı aygıtlara aynı arabirimi kullanarak ulaşabiliriz. C++ ‘daki kendiliğinden açılan akımlar; cout, cin, clog ve cerr ‘dir. Cerr standart hatadır, clog ise önbellekli  standart hatadır. Company Logo

~INPUT/OUTPUT formating~ Akımların yerli yerinde ve bir sistem içinde işlemesi için birçok kütüphaneye ihtiyaç vardır. C++ programında yapacağımız her eylemin bir kütüphane içinde dahil edilmesi gerektiği unutulmaması gerekir. Company Logo

C++ kütüphaneleri <iostream> C++ programındaki giriş çıkış birimleri hakkında temel biligileri içeren bir kütüphanedir. Örnek verecek olursak cin, cout, cerr and clog gibi standart giriş birimi standart çıkış birimi standart hata ayıklama gibi temel bilgileri içerir. Company Logo

<iostream> kütüphanesi boolalpha()-nonboolalpha() dec-hex-oct showpos-noshowpos Uppercase-nouppercase fixed İnternal-left-right scientific showbase-noshowbase showpoint-noshowpoint Company Logo

boolalpha-noboolalpha() Girilen boolean değerinin true-false yada noboolalpha ile 1-0 olarak çıktısı sağlanır. Örnek: #include <iostream> using namespace std; int main () { bool b; b=true; cout << noboolalpha << b << endl; cout << boolalpha << b << endl; return 0; } ÇIKTISI: 1 TRUE Company Logo

Dec-hex-oct Girilen sayısal değeri decimal, hexadecimal ve octal değerli çıkışı sağlanır. Örnek: #include <iostream> using namespace std; int main () { int n; n=70; cout << dec << n << endl; cout << hex << n << endl; cout << oct << n << endl; return 0; } ÇIKTISI: 70 46 106 Company Logo

Showpos-noshowpos Girilen sayısal değerlerin çıktısının pozitif yada negatif işaretli değerlerini gösterir. ÖRNEK: #include <iostream> using namespace std; int main (){ signed int p, z, n; p=1; z=0; n=-1; cout << noshowpos << p << '\t' << z << '\t' << n << endl; cout << showpos << p << '\t' << z << '\t' << n << endl; return 0; } ÇIKTISI: 1 0 -1 +1 +0 -1 Company Logo

Fixed-scientific ÇIKTISI: 3.1416 2006 1e-010 3.14159 2006.00000 0.00000 3.14159e+000 2.00600e+003 1.00000e-010 FİXED:Girilen float-int-double float gibi sayıları verdiğimiz genişlikte sabitleyen bir komuttur. SCIENTIFIC: Girilen sayısal ifadeyi bilimsel olarak gösteren komuttur. Örnek: #include <iostream> using namespace std; int main () { double a,b,c; a = 3.1415926534; b = 2006.0; c = 1.0e-10; cout.precision(5); cout << a << '\t' << b << '\t' << c << endl; cout << fixed << a << '\t' << b << '\t' << c ; cout << scientific << a << '\t' << b << '\t'<< c; return 0; } Company Logo

İnternal-left-right Girilen değer için ayrılan alandaki hizalamayı sağlamak için kullanılan bir komuttur. ÖRNEK: #include <iostream> using namespace std; int main () { int n; n=-77; cout.width(6); cout << left << n << endl; cout << internal << n << endl; cout << right << n << endl; return 0; } ÇIKTISI: -77 - 77 Company Logo

Showbase-noshowbase Girilen sayının basamak değerini normal yada tam karşılığını yazdırmak için kullanılan bir <iostream> kütüphanesi fonksiyonudur. #include <iostream> using namespace std; int main () { int n; n=20; cout << hex << noshowbase << n << endl; cout << hex << showbase << n << endl; return 0; } ÇIKTISI: 14 0x14 Company Logo

Showpoint-noshowpoint Girilen kayar nokatalı(double-float) sayılırın virgülden sonraki basamaklarının gösterilip gösterilmeyeceğinin belirtilmesi için kullanılır. ÖRNEK: #include <iostream> using namespace std; int main () { double a, b, pi; a=30.0; b=10000.0; pi=3.1416; cout.precision (5); cout << noshowpoint << a << '\t' << b << '\t' << pi << endl; cout << showpoint << a << '\t' return 0; } ÇIKTISI: 30 10000 3.1416 30.000 10000. 3.1416 Company Logo

Uppercase-nouppercase Girilen değerin çıktısının büyük olup olmayacağını belirtir. Örnek: #include <iostream> using namespace std; int main () { cout << uppercase << a << endl; cout << nouppercase << a << endl; return 0; } ÇIKTISI: A a Company Logo

<iomanip> kütüphanesine ait birçok fonksiyon vardır. iomanip.h c++ programına ait iostream kütüphanesinin yani standart giriş çıkış birimlerinin formatlı yazdırma fonksiyonlarını içeren bir kütüphanedir. <iomanip> kütüphanesine ait birçok fonksiyon vardır. Company Logo

<iomanip>fonksiyonlarI setw()- width() setfill() setprecision() setbase() resetiosflags () setf() –unsutf() setiosflags() resetiosflags() Company Logo

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: #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; } ÇIKTISI: - - - - - 234 - - - 234 234 Company Logo

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. Örnek: #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; } ÇIKTISI: * * * * * * 234 * * * 234 * 234 Company Logo

Setprecision() Fonksiyonu Girilen ondalıklı sayıları formatlı bir şekilde ve noktadan sonraki duyarlılığı belirlemek için kullanılan bir <iomanip> fonksiyondur. Örnek: #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; } ÇIKTISI: 22.70964 22. 7096434 22. 70964345 Company Logo

Setbase() Fonksiyonu Biraz önce hex-dec ve oct foksiyonlarıyla sayıyı 16lık(hexadecimal), 10luk(decimal), 8 lik(octal), sayi sistemlerine dönüştürmek için kullanıyorduk. “setbase()” fonsiyonu ise istediğimiz basamağı fonksiyona yazarak kullanılan bir <iomanip> komutudur.Ancak içine 8-10 ve 16 lık basamak değerlerini alır. Örnek: #include <iostream> #include <iomanip> using namespace std; int main () { cout << setbase (16); cout << 100 << endl; return 0; } ÇIKTISI: 64 Company Logo

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) Company Logo

Setf() Fonksiyonu örnek: ÇIKTISI: 0X128 * * * * * * * * * * 128 #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ı return 0; } ÇIKTISI: 0X128 * * * * * * * * * * 128 Company Logo

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. Company Logo

Unsetf() Fonksiyonu Örnek: ÇIKTISI: 0X128 200 #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; } ÇIKTISI: 0X128 200 Company Logo

Setiosflags() Fonksiyonu “setiosflags()” fonksiyonu ile girilen değere showbase-uppercase gibi özeliği vermezi sağlayan bir <iomanip> kütüphanesi fonsiyonudur. Örnek: #include <iostream> #include <iomanip> using namespace std; int main () { cout << hex << setiosflags ( ios_base::uppercase | ios_base::showbase); cout << 200 << endl; return 0; } ÇIKTISI: 0X128 Company Logo

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 Örnek: #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; } ÇIKTISI: 128 Company Logo