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

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

Войти
Регистрация
Восстановить пароль
 
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
#1

Почему при выводе имею целое число, а не дробное - C++

13.04.2012, 19:47. Просмотров 749. Ответов 6
Метки нет (Все метки)

Здравствуйте. Почему при выводе имею целое число, а не дробное (как заказывали)?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
using std::cout;
using std::endl;
 
class Yoba {
public:
    Yoba( int = 0, int = 0 );
    double div() const;   
private:
    int num_1;
    int num_2;    
};
 
Yoba::Yoba( int one, int two )
            : num_1( one ), num_2( two )
{
            
}
 
double Yoba::div() const {
    return num_1 / num_2;
}
 
int main() {
    Yoba yoba( 10, 15 );
    cout << yoba.div() << endl;
    
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2012, 19:47     Почему при выводе имею целое число, а не дробное
Посмотрите здесь:

C++ Определить, целое число хранится в переменной, или дробное
Поле first - целое число, длительность телефонного разговора в минутах; поле second - дробное число, стоимость одной минуты в гривнах C++
Как правильно ограничить число знаков после запятой при выводе массива C++
C++ Почему при выводе в поток char* выводится весь массив символов?
C++ Как разделить переменую типа double на целое и дробное число ?
C++ Программа при делении выдает целое значение а не дробное
При выводе появляется число -84215045 откуда оно не могу понять C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoonGuard
12 / 12 / 0
Регистрация: 05.04.2012
Сообщений: 127
13.04.2012, 19:50     Почему при выводе имею целое число, а не дробное #2
инт работает только с целыми числами, дробные округляются.
Попробуйте везде double использовать, ну или float
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
13.04.2012, 19:51  [ТС]     Почему при выводе имею целое число, а не дробное #3
Ну это ясно, как лечить красиво и без костылей?
rangerx
1921 / 1530 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
13.04.2012, 19:51     Почему при выводе имею целое число, а не дробное #4
C++
1
return (double)num_1 / num_2;
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
13.04.2012, 19:54  [ТС]     Почему при выводе имею целое число, а не дробное #5
rangerx, бинго. Спасибо. Как это называется? Так чтоб почитать подробнее.
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
13.04.2012, 19:59     Почему при выводе имею целое число, а не дробное #6
явное преобразование типов.
только это в стиле С, в С++ еще применяется static_cast<T>
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2012, 21:39     Почему при выводе имею целое число, а не дробное
Еще ссылки по теме:

C++ При выводе минимального элемента последовательности программа выводит слишком большое число
Проверить, целое число или дробное C++
C++ Почему при выводе курсор переходит на новую строку?
Почему при выводе односвязного списка на экран он выдаёт ещё какие-то дополнительные адреса? C++
Почему typeid().name дописывает цифры к названию при выводе? C++

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

Или воспользуйтесь поиском по форуму:
Nick Alte
Эксперт С++
1599 / 991 / 117
Регистрация: 27.09.2009
Сообщений: 1,910
Завершенные тесты: 1
13.04.2012, 21:39     Почему при выводе имею целое число, а не дробное #7
В C++ можно использовать и конструирование, которое записывается почти так же:
C++
1
return double(num1) / num2;
Yandex
Объявления
13.04.2012, 21:39     Почему при выводе имею целое число, а не дробное
Ответ Создать тему
Опции темы

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