c de formatlı yazdırma sorunu

Başlatan tbt777, 01 Ağustos 2015, 19:04:09

tbt777

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]);
}
şeklinde yazdırınca;http://imgur.com/pICleZ0 şeklinde bir çıktı alıyorum.

yani isimlerin uzunluğu vize yi sağa kaydırıyor.
hepsini alt alta düzenli bir şekilde nasıl yazdırabilirim?

mufitsozen

Alıntı yapılan: tbt777 - 01 Ağustos 2015, 19:04:09
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]);
}
şeklinde yazdırınca;http://imgur.com/pICleZ0 şeklinde bir çıktı alıyorum.

yani isimlerin uzunluğu vize yi sağa kaydırıyor.
hepsini alt alta düzenli bir şekilde nasıl yazdırabilirim?

%7s ve %2s yerine gercek alan boylarini ve left justify yapmak icin - koyunuz

or: %-20s ve %-15s gibi
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

sovalye

Hocam eğer ekrana bastırdınız string belirttiğiniz yerden daha uzunsa yer belirtme işleminiz dikkate alınmaz.

seyityildirim

#3
Eğer soruyu doğru anladıysam
printf("%s/t%s/t" ,isim,soyisim) gibi her %s den sonra bir tab boşluk bırakın gerekirse 2 tab boşluk bırakın