формат вывода числа

sum44

Member
29.10.2008
23
0
#1
Помогите пожалуйста решить проблему.
Мне нужно вывести на экран объем жесткого диска в гигабайтах.
вот код:
Код:
unsigned long SectorsPerCluster;  
unsigned long BytesPerSector;
unsigned long NumberOfFreeClusters;
unsigned long TotalNumberOfClusters;

BOOL GetDiskFreeSpaceFlag = GetDiskFreeSpace (
dd,
&SectorsPerCluster,
&BytesPerSector,
&NumberOfFreeClusters,
&TotalNumberOfClusters);

float cluster;
cluster = SectorsPerCluster*BytesPerSector;

unsigned float volume;
volume = (TotalNumberOfClusters*(cluster/1024))/1024/1024;

if(GetDiskFreeSpaceFlag != 0) 
{
cout << "Volume of disk = " << volume << " Gb" << endl;	
}
Проблема в том, что объем выводится целым числом, а мне нужно сделать вывод с одним символом после запятой.
например у меня раздел С занимает 11.7 Гб, а моя прога выводит 11 Гб.
Прочитал про потоки и форматы вывода, но у меня ничего не получилось.
Объясните пожалуйста как это сделать.
 
D

Dimmuborgir

Гость
#2
Код:
unsigned float volume;
впервые встречю unsigned для числа с плавающей точкой. Убрал unsigned и у меня на VC++ 6.0 работает.
 

sum44

Member
29.10.2008
23
0
#3
спасибо, решил проблему через
Код:
printf("%.1f",(TotalNumberOfClusters*(cluster/1024))/del/del);
//