У меня довольно прямой вопрос.Следующий код распечатывает градусы Цельсия и Фаренгейта.Мой вопрос, хотя о количестве повторений.Для небольшого числа, например, начиная с 0, остановитесь на 10 с шагом 1,1.После завершения цикла он напечатает правильное количество выполненных итераций.
Но для большого числа 0-11000000, при выполнении шага 1.1 будет напечатано неверное число итераций.Почему это происходит?Так как 1100000 / 1.1 должно быть около 1000001, но я получаю 990293.
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
float start, stop, step;
int count = 0;
cout << "start temperature: ";
cin >> start;
cout << "stop temperature: ";
cin >> stop;
cout << "step temperature: ";
cin >> step;
cout << setw(10) << "celsius" << setw(15) << "fahrenheit" << endl;
cout << setw(25) << "celsius" << setw(15) << "fahrenheit" << endl;
while(start <= stop)
{
count++;
float c, f;
c = (5.0/9)*(start-32);
f = 32+(9.0/5)*start;
cout << setw(10) << fixed << setprecision(2) << c << setw(15) << start << setw(15) << fixed << setprecision(2) << f << " count: " << count << endl;
start = start + step;
}
cout << "The program loop made " << count << " iterations." << endl;
return 0;
}