İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Sinema Dizi Akıllı Ev Motosiklet Mikromobilite Kripto Para Sağlık Teknolojileri Son dakika Yazarlar
  1. Ana sayfa
  2. SDN Forum
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

c'de formatlı yazdırma sorunu

Konu bilgisi

2cevap
3.549görüntüleme
01.08.2015açıldı
01.08.2015son cevap

#1
iyi günler.
printf("%s %7s %s %2s %10s %2s\n",'NUMARA','ISIM', 'SOYISIM' ,'VIZE', 'FINAL', 'ORTALAMA');
printf("_______________________________________________________\n");
for(k = 0 ; k < i ; k++){
printf("%u %7s %2s %10d %2d %.2f\n",ogr[k].numara, ogr[k].isim, ogr[k].soyisim, ogr[k].vize, ogr[k].final, ort[k]);
}
bu şekilde yazınca;isim soyisim uzunluğuna göre vize yi sağ tarafa öteliyor.
hepsi aynı hizada olacak şekilde nasıl yapabilirim?

- - - Mesaj Güncellendi - - -

yani http://imgur.com/pICleZ0 şeklinde bir çıktı alıyorum.ü
bunu düzenli olarak nasıl yazdırabilirim?
Cevaplar
#2
Örneğin adı soyadı alanı için fix 30 karakter yer bırakmalısın.

bunu da şu şekilde formül edersin.

ilaveboşluk=30-adsoyad uzunluğu
adı soyadı + ilave boşluk.

şeklinde.

c bilmediğim için ancak bu şekilde yol gösterebilirim. Ayrıca rakamların da aynı hizaya gelmesini istiyorsan örneğin sağa yanaşık. bunları da ya formatlayarak yazacaksın. ya da aynı şekilde, bu sefer sonuna değil başına boşluk ekleyeceksin.
#3
printf de %7s ile yazdırmak 7 karakterlik alan ayırıp yazdırılacak stringi sağa dayalı olarak 7 karakterlik alana yazdırmak anlamına geliyor. sola dayalı yazdırmak için %-7s kullanılıyor. printfdeki %s lerde s lerden önce kaç karakterlik alan ayrılması gerekiyorsa o sayı kullanılırsa ve aynı sayılar for içindeki printf de kullanılırsa alt alta yazdırır.
(integer için %5d gibi)

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.

Reklam