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

Почему в ответе inf ? - C++

Восстановить пароль Регистрация
 
tika
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 16
20.03.2014, 22:28     Почему в ответе inf ? #1
Уважаемые гуру, помогите решить проблему. Компилил программу из учебника Праты "Язык программирования
С++ лекции и упражнения 2011" (Кстати, каково ваше мнение о данном учебнике?)
Не пойму, почему в ответе вылезло "bmi=inf"?
Вот код.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cmath>
int main ()
{
using namespace std;
double fd;
double d=fd*12;
const double mk=0.0254;
double m=d*mk;
const double kgk=2.2;
double p;
double kg=p/kgk;
double htp=pow(m,2);
double bmi=kg/htp;
cout <<"Enter height in feet and inches:";
cin >>fd;
cout <<"Enter weight in pounds:";
cin >>p;
cout <<"bmi="<< kg/htp <<endl;
return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2014, 22:28     Почему в ответе inf ?
Посмотрите здесь:

C++ создать AutoRun.inf C++
C++ Функции в с++. Ошибки -1.#INF и 1.#QNAN
C++ Аналог Inf матлаба
C++ Ошибка в ответе
Почему при вводе чисел в ответе выводит #INF C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,167
Завершенные тесты: 1
20.03.2014, 22:50     Почему в ответе inf ? #2
Цитата Сообщение от tika Посмотреть сообщение
double fd;
double d=fd*12
fd Не присвоено начальное значение
recoder
 Аватар для recoder
129 / 129 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
20.03.2014, 22:50     Почему в ответе inf ? #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Сравните с вашим и подумайте
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cmath>
int main ()
{
using namespace std;
double fd;
double p;
cout <<"Enter height in feet and inches:";
cin >>fd;
cout <<"Enter weight in pounds:";
cin >>p;
double d=fd*12;
const double mk=0.0254;
double m=d*mk;
const double kgk=2.2;
double kg=p/kgk;
double htp=pow(m,2);
double bmi=kg/htp;
cout <<"bmi="<< kg/htp <<endl;
cin.get();
cin.get();
return 0;
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.03.2014, 22:50     Почему в ответе inf ? #4
Цитата Сообщение от tika Посмотреть сообщение
Кстати, каково ваше мнение о данном учебнике?
Хороший учебник.
Цитата Сообщение от tika Посмотреть сообщение
Компилил программу из учебника Праты "Язык программирования
С++ лекции и упражнения 2011"
Там есть такой код? Страницу укажите.
saden
 Аватар для saden
183 / 167 / 41
Регистрация: 27.01.2013
Сообщений: 788
20.03.2014, 22:52     Почему в ответе inf ? #5
потому что fd не присвоено начального значения

Добавлено через 37 секунд
О! Вроде быстро писал...
recoder
 Аватар для recoder
129 / 129 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
20.03.2014, 22:53     Почему в ответе inf ? #6
alsav22, Это задание к главе на сколько я помню. Глава 3, 2 упражнение.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.03.2014, 23:05     Почему в ответе inf ? #7
Цитата Сообщение от recoder Посмотреть сообщение
Это задание к главе на сколько я помню. Глава 3, 2 упражнение.
Я подумал, что там код такой написан.
Цитата Сообщение от tika Посмотреть сообщение
программу из учебника Праты "Язык программирования
С++ лекции и упражнения 2011"
tika
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 16
21.03.2014, 20:40  [ТС]     Почему в ответе inf ? #8
recoder, огромное спасибо.(кстати,удивлен феноменальностью вашей памяти).Я все понял кроме одного момента.Зачем нужен двойной cinget?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2014, 20:46     Почему в ответе inf ?
Еще ссылки по теме:

C++ Как выровнять столбики в ответе?
C++ Выводит INF вместо значения
#INF C++ C++

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

Или воспользуйтесь поиском по форуму:
recoder
 Аватар для recoder
129 / 129 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
21.03.2014, 20:46     Почему в ответе inf ? #9
По сути, здесь он нужен лишь для того что бы не закрывалась консоль вывода и мы могли увидеть результат. Можно заменить на system("pause"). Для этого нужно подключить #include <windows.h> и вместо этиx операторов:
C++
1
2
cin.get();
cin.get();
написать:
C++
1
system("pause");
Yandex
Объявления
21.03.2014, 20:46     Почему в ответе inf ?
Ответ Создать тему
Опции темы

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