Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 48, средняя оценка - 4.75
sum41
3 / 3 / 1
Регистрация: 15.11.2008
Сообщений: 22
#1

Формат вывода числа - C++

30.11.2008, 17:55. Просмотров 5864. Ответов 1
Метки нет (Все метки)

Помогите пожалуйста решить проблему.
Мне нужно вывести на экран объем жесткого диска в гигабайтах.
вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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 Гб.
Прочитал про потоки и форматы вывода, но у меня ничего не получилось.
Объясните пожалуйста как это сделать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2008, 17:55     Формат вывода числа
Посмотрите здесь:

C++ Преобразование числа в денежный формат (Си++)
C++ Не правильный формат вывода =(
C++ Программа вывода числа в обратном порядке
C++ Формат ввода вывода для дат
C++ Программа для вычисления суммы двух неотрицательных чисел. Ошибка: неправильный формат вывода.
Программа которая запрашивает 2 числа и выводит на стандартное устройство вывода все числа, которые находятся между ними C++
C++ Неверный формат вывода
C++ Неправильный формат вывода
Формат вывода C++
C++ Волшебный мост: неправильный формат вывода
C++ формат вывода cout << hex
C++ Формат вывода double

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Matskoff-Lion
4 / 4 / 0
Регистрация: 25.11.2008
Сообщений: 41
30.11.2008, 18:26     Формат вывода числа #2
Всё работает правильно, деление происходит в контексте целых чисел (у тебя все операнды представлены целыми числами). 1024 - целое число. Так результат деления целых чисел - челое число. Для разрешения этого нюанса используй деление на "1024.0" или просто на "1024.". Затем отбрось ненужную десятичную часть
Yandex
Объявления
30.11.2008, 18:26     Формат вывода числа
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru