1. 1.
    -1
    Örneğin;
    Kod:
    const double d1 = 1.23456789;
    const double d2 = 12.3456789;
    şeklinde iki sabit tanımlayalım. Bunları yazdırırken;
    Kod:
    cout << "d1 = " << d1 << endl;
    cout << "d2 = " << d2 << endl;
    komutlarını yürüttüğünde alacağın output aşağıdaki gibi oluyormuş:
    Kod:
    d1 = 1.23457
    d2 = 12.3457
    Burada output neden 6 karakter uzunluğunda oldu bilmiyorum. Belki, varsayılan hassasiyetin(default precision) 6 olmasından kaynaklanıyor olabilir. Son iki rakam "56" değil de neden "57" oluyor onu da bilmiyorum Konu ile ilgili bilgisi olan birisi açıklarsa sevinirim. Sen de bu komutu işlettikten sonra output bu şekilde mi oluyor bir bakıver ulvi

    setw() tek başına kullanıldığında alan boyutunu ayarlasa da, outputda bunu gözlemleyebiliyormusun bir fikrim yok. Gördüğüm örneklerde setfill() ile birlikte kullanılmış. setfill() ise boşta kalan alanları, parantez içinde belirttiğin karakter ile dolduruyor. setfill ve setw'nin birlikte kullanımı ise aşağıdaki gibi oluyor:
    Kod:
    cout << setfill ('x') << setw(15)
    cout << "d1 = " << d1 << endl;
    cout << "d2 = " << d2 << endl;
    Sanırım bu şekilde de kullandığında aynı sonucu alıyorsun:
    Kod:
    cout << setfill ('x')
    cout << "d1 = " << setw(15) << d1 << endl;
    cout << "d2 = " << setw(15) << d2 << endl;
    Bu komutları yürüttüğünde alacağın output:
    Kod:
    d1 = xxxxx1.23456789
    d2 = xxxxx12.3456789
    Sabitlerimiz 10 karakter uzunluğunda olduğu için; setw(15) ile alan boyutunu 15 olarak ayarladığımızdan, sabitlerin önünde kalan 5 karakterlik alan setfill('x') komutunda parantez içinde belirttiğimiz 'x' karakteri ile dolduruluyor. Eğer x yerine boşluk olsun istiyorsan setfill('x') yerine setfill(' ') kullanabilirsin. Bu durumda alacağın sonuç:
    Kod:
    d1 = 1.23456789
    d2 = 12.3456789
    olur.
    setw() ile kullanılan diğer bir komut ise setprecision() imiş. Adından da anlaşılacağı üzere sabitin hassasiyetini belirlemek için kullanılıyor. Kod içinde kullanımı ise şu şekilde oluyormuş:
    Kod:
    cout << setprecision(8)
    cout << "d1 = " << d1 << endl;
    cout << "d2 = " << d2 << endl;
    Bu komutu yürüttüğünde alacağın sonuç:
    Kod:
    d1 = 1.2345679
    d2 = 12.345679
    Aynı şekilde neden sonu "78" değil de "79" oluyor bir fikrim yok. Herhalde hassasiyeti 7 olarak ayarlarsan alacağın sonuç d1 = 1.234568 olur. Ama yine sebebini bilmiyorum
    ···
   tümünü göster