Опять С++. И опять ОАП, и как всегда не работает код.

программирование windows C++ Информатика

Задание : Дано вещественное число N — цена 1 кг конфет. Вывести стоимость 0.1, 0.2, …, 1 кг конфет. Выполнить обязательно через for
Код (полностью):
#include <cmath>
#include <iostream>
using namespace std;
int main ()
{
setlocale (0, "Rus");

double n,z,x,b;
cout<<"Дано вещественное число N — цена 1 кг конфет."<<endl;
cout<<"Введите N ";
cin>>n;

b=0.0;
z=0.0;
for (;b<=1;)
{
cout<<"Цена за "<<b;
x=n*b;
b=z+0.1;
cout<<"килограмм равна "<<x<<endl;
}
system("pause");
return 0;
}
system("pause");
return 0;
}
В чём проблема: до бесконечности выдаёт "Стоимость за 0.1килограмм равна 10".

Примечание:
Вот код:
#include <cmath>
#include <iostream>
using namespace std;
int main ()
{
setlocale (0, "Rus");

double n,z,x,b;
cout<<"Дано вещественное число N — цена 1 кг конфет."<<endl;
cout<<"Введите N ";
cin>>n;

b=0.0;
z=0.0;
for (;b<=1;)
{
cout<<"Цена за "<<b;
x=n*b;
b=z+0.1;
cout<<"килограмм равна "<<x<<endl;
}
system("pause");
return 0;
}
Ответы:
b = z + 0.1 - вот в этой строчке проблема. z = 0.0 и никогда не меняется, поэтому идёт постоянное присвоение b значения 0.1.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.