Программа C ++ преобразует Фаренгейта в цель

Может ли кто-нибудь помочь мне понять, почему это дает результат 0?

#include  using namespace std; int main() { float celsius; float fahrenheit; cout <> celsius; fahrenheit = (5/9) * (celsius + 32); cout << "Fahrenheit = " << fahrenheit << endl; return 0; } 

(5/9) будет по умолчанию вычисляться как целочисленное деление и будет равен нулю. Попробуйте (5.0/9)

Фаренгейт по objectiveсию будет (Fahrenheit - 32) * 5 / 9

В C ++ 5/9 вычисляет результат как целое число, так как оба операнда являются целыми числами. Вам нужно дать подсказку компилятору, что вы хотите получить результат как float / double. Вы можете сделать это, явно бросая один из операндов вроде ((double)5)/9;

РЕДАКТИРОВАТЬ Так как он помечен C ++, вы можете сделать бит отливки более элегантно, используя static_cast . Например: static_cast(5)/9 . Хотя в этом конкретном случае вы можете напрямую использовать 5.0 / 9 для получения желаемого результата, кастинг будет полезен, если у вас есть переменные вместо постоянных значений, таких как 5.

В примере кода вы пытаетесь разделить целое число с другим целым числом. Это причина всех ваших проблем. Вот статья, которая может показаться интересной по этому вопросу.

С понятием целочисленного деления вы сразу видите, что это не то, что вы хотите в своей формуле. Вместо этого вам нужно использовать литералы с плавающей запятой .

Я довольно смущен заголовком этого streamа и вашего образца кода. Вы хотите преобразовать gradleусы objectiveсия в Фаренгейт или сделать наоборот?

Я опишу свой пример кода на свой собственный образец кода, пока вы не дадите более подробную информацию о том, что вы хотите.

Вот пример того, что вы можете сделать:

 #include  //no need to use the whole std namespace... use what you need :) using std::cout; using std::cin; using std::endl; int main() { //Variables float celsius, //represents the temperature in Celsius degrees fahrenheit; //represents the converted temperature in Fahrenheit degrees //Ask for the temperature in Celsius degrees cout << "Enter Celsius temperature: "; cin >> celsius; //Formula to convert degrees in Celsius to Fahrenheit degrees //Important note: floating point literals need to have the '.0'! fahrenheit = celsius * 9.0/5.0 + 32.0; //Print the converted temperature to the console cout << "Fahrenheit = " << fahrenheit << endl; } 

Лучшим способом было бы

 #include  using namespace std; int main() { float celsius; float fahrenheit; cout << "Enter Celsius temperature: "; cin >> celsius; fahrenheit = (celsius * 1.8) + 32;// removing division for the confusion cout << "Fahrenheit = " << fahrenheit << endl; return 0; } 

🙂

Моя работала отлично!

 /* Two common temperature scales are Fahrenheit and Celsius. ** The boiling point of water is 212° F, and 100° C. ** The freezing point of water is 32° F, and 0° C. ** Assuming that the relationship bewtween these two ** temperature scales is: F = 9/5C+32, ** Celsius = (f-32) * 5/9. ***********************/ #include  // cin, cout using namespace std; // System definition of cin and cout commands, // if not, programmer would have to write every // single line as: std::cout or std::cin int main () // Main function { /* Declare variables */ double c, f; cout << "\nProgram that changes temperature from Celsius to Fahrenheit.\n"; cout << "Please enter a temperature in Celsius: "; cin >> c; f = c * 9 / 5 + 32; cout << "\nA temperature of " << c << "° Celsius, is equivalent to " << f << "° Fahrenheit.\n"; return 0; } 

Ответ уже найден, хотя я также хотел бы поделиться своим ответом:

 int main(void) { using namespace std; short tempC; cout << "Please enter a Celsius value: "; cin >> tempC; double tempF = convert(tempC); cout << tempC << " degrees Celsius is " << tempF << " degrees Fahrenheit." << endl; cin.get(); cin.get(); return 0; } int convert(short nT) { return nT * 1.8 + 32; } 

Это более правильный способ сделать это; однако, это немного сложнее, чем то, что вы делали.

Это самый простой, который я мог бы придумать, поэтому хотел поделиться здесь,

 #include #include void main() { //clear the screen. clrscr(); //declare variable type float float cel, fah; //Input the Temperature in given unit save them in 'cel' cout<<”Enter the Temperature in Celsius”<>cel; //convert and save it in 'fah' fah=1.8*cel+32.0; //show the output 'fah' cout<<”Temperature in Fahrenheit is “< 

Источник: objectiveсия до Фаренгейта

  • Почему char * вызывает неопределенное поведение, а char - нет?
  • Что касается локальной переменной, проходящей в streamе
  • найти, если 4 точки на плоскости образуют прямоугольник?
  • NSString (hex) в байтах
  • Являются ли утечки памяти когда-либо?
  • Добавьте несколько изображений в тело электронной почты (inline) с помощью приложения windows c #
  • Как открыть встроенный диалог копирования файлов?
  • Элементы управления диаграммой WPF
  • Бокс и распаковка: когда это придумано?
  • Правильная сериализация JSON в MVC 4
  • Пакет гибкости HTML - удаление ненужных тегов без удаления содержимого?
  • Interesting Posts

    Каков самый код EVIL, который вы когда-либо видели в среде производственного предприятия?

    Установить культуру в приложении ASP.Net MVC

    Кнопка «Пользовательское удаление» В редакторе в ячейке UITableView

    Извлечь строку, соответствующую минимальному значению переменной по группе

    FixedThreadPool против CachedThreadPool: меньшее из двух зол

    Есть ли простой алгоритм, который может определить, является ли X простым, а не путать простого смертного программиста?

    Как дублировать элементы управления .NET в форме?

    Почему у моего VPS заканчивается память?

    Возможно ли как-то скрыть Growl и Herald, когда VLC работает в полноэкранном режиме?

    Как рассчитать азимут, шаг, ориентацию, когда мое устройство Android не плоское?

    проблема с оберткой заголовков столбцов jqGrid в IE

    Можете ли вы использовать reflection, чтобы найти имя текущего исполняемого метода?

    Быстрые способы импорта чертежей в Android Studio?

    ASP.NET MVC 4 – для свойств коллекции моделей записей в столбцах, но foreach не

    Невозможно выполнить удаленный сценарий poweshell на сервере Windows Server 2016 без установки

    Давайте будем гением компьютера.