Rumah >pembangunan bahagian belakang >C++ >Mengapa Output Program Penukaran Fahrenheit ke Celsius Saya 0?

Mengapa Output Program Penukaran Fahrenheit ke Celsius Saya 0?

Susan Sarandon
Susan Sarandonasal
2024-10-25 02:47:02282semak imbas

Why Does My Fahrenheit to Celsius Conversion Program Output 0?

Mengapa Program C Ini Menukar Fahrenheit kepada Celsius Dengan Salah?

Aturcara C yang cuba menukar suhu Fahrenheit kepada Celsius menyebabkan kekeliruan kerana output 0 yang salah. Mari kita mendalami kod dan terangkan isunya.

Atur cara bermula dengan memasukkan perpustakaan input dan output standard yang diperlukan dan mentakrifkan beberapa pembolehubah.

<code class="cpp">#include <iostream>
using namespace std;

float celsius;
float fahrenheit;</code>

Kod kemudian menggesa pengguna untuk memasukkan suhu Celsius dan menyimpannya dalam pembolehubah celsius.

<code class="cpp">cout << "Enter Celsius temperature: ";
cin >> celsius;</code>

Pengiraan untuk menukar Celsius kepada Fahrenheit adalah seperti berikut:

<code class="cpp">fahrenheit = (5/9) * (celsius + 32);</code>

Isu timbul di sini . Ungkapan (5/9) melaksanakan pembahagian integer secara lalai, menghasilkan 0. Untuk mendapatkan hasil pecahan yang betul, kita perlu menghantar salah satu operan kepada jenis titik terapung.

<code class="cpp">fahrenheit = (5.0/9) * (celsius + 32);</code>

Dengan menggunakan pembahagian titik terapung, kami memastikan pengiraan dilakukan dengan betul dan bahagian pecahan dipelihara.

Atur cara diakhiri dengan mengeluarkan suhu Fahrenheit.

<code class="cpp">cout << "Fahrenheit = " << fahrenheit << endl;</code>

Dengan membuat pembetulan ini, atur cara kini akan menukar dan memaparkan suhu Fahrenheit dengan betul berdasarkan nilai Celsius yang disediakan pengguna.

Atas ialah kandungan terperinci Mengapa Output Program Penukaran Fahrenheit ke Celsius Saya 0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn