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

Условие в функции, некорректно проходит проверка дробного числа - C++

Восстановить пароль Регистрация
 
Spirit370
 Аватар для Spirit370
1 / 1 / 2
Регистрация: 08.08.2013
Сообщений: 86
13.03.2014, 01:46     Условие в функции, некорректно проходит проверка дробного числа #1
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
#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace ::std;
 
double k(double c)
{
    // c >= -273,15 °С
    if (c <= -273,15) {cout << "HAHAHA";}
    return c + 273.15;
}
 
int main ()
{
    
 
    
    
    
    
    double c = 0;
    cout << "input temp celsius" << endl << "->";
    cin >> c;
    cout << "tenp K -> " << k(c) << endl;
    system("PAUSE");
}
Почему выводиться сообщение HAHAHA, даже если вводить больше -273,15 !!!!!!? ???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
volvo
Супер-модератор
 Аватар для volvo
21687 / 14160 / 3939
Регистрация: 22.10.2011
Сообщений: 25,023
Записей в блоге: 2
13.03.2014, 01:57     Условие в функции, некорректно проходит проверка дробного числа #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
9
if (c <= -273.15) {cout << "HAHAHA";}
Ищи различия...

Как найдешь - подумай, что на самом деле происходило в твоем коде...
rikimaru2013
C++ Game Dev
 Аватар для rikimaru2013
2133 / 966 / 222
Регистрация: 30.11.2013
Сообщений: 3,231
13.03.2014, 02:39     Условие в функции, некорректно проходит проверка дробного числа #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Из-за запятой эти строки для программы одно и тоже:
C++
1
2
if (c <= -273,15) {cout << "HAHAHA";}
if (15) {cout << "HAHAHA";}
так как 15 всегда true - баг на лицо. Или вернее по лицу xD
volvo
Супер-модератор
 Аватар для volvo
21687 / 14160 / 3939
Регистрация: 22.10.2011
Сообщений: 25,023
Записей в блоге: 2
13.03.2014, 02:47     Условие в функции, некорректно проходит проверка дробного числа #4
То есть, дать ТС-у подумать - это лишнее, правда? Надо было все ему разжевать, вдруг да плюсик заработаешь? Или ты думаешь, я не мог написать то же самое, и только вот ждал, пока придет кто-нибудь еще и расскажет мне, что же такое происходит при написании запятой вместо точки?
Yandex
Объявления
13.03.2014, 02:47     Условие в функции, некорректно проходит проверка дробного числа
Ответ Создать тему
Опции темы

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