
C#
C# Помогите сделать корректный вывод
Необходимо корретно сосчитать расходы за 10 месяцев, при этом нужно, чтобы каждый месяц (цикл) расходы увеличивались на 3%.


Что нужно поправить:
1. Заменить строку
double costForTenMounth = 1;
на
double costForTenMounth = 0;
так как туда будет суммировать стоимость общую
2. Заменить строку
costForTenMounth = costForTenMounth * cost;
на
costForTenMounth += cost;
это равносильно записи :costForTenMounth =costForTenMounth + cost;
так как в cost по вашему коду храниться размер расходов на текущий месяц в цикле и вам нужно его прибавить к сумме расходов накопленной за предыдущие месяцы и сделать так 10 раз, за что отвечает цикл ваш от 1 до 10.
3. Заменить строку
for (int i = 1; i<10; i++) // - даст 9 итераций
на
for (int i = 1; i<=10; i++) // - даст 10 итераций
или на
for (int i = 0; i<10; i++) // - даст 10 итераций
т. к. это даст вам 10 итераций,
(Второй вариант оставить объявление цикла как есть, но тогда double costForTenMounth = cost; // и нужно следить, чтобы до этой инициализации в cost была верное значение - величина расходов первого месяца И в теле цикла строку cost = cost * 1.03; поставить перед суммированием, а после суммирования убрать)
1. Заменить строку
double costForTenMounth = 1;
на
double costForTenMounth = 0;
так как туда будет суммировать стоимость общую
2. Заменить строку
costForTenMounth = costForTenMounth * cost;
на
costForTenMounth += cost;
это равносильно записи :costForTenMounth =costForTenMounth + cost;
так как в cost по вашему коду храниться размер расходов на текущий месяц в цикле и вам нужно его прибавить к сумме расходов накопленной за предыдущие месяцы и сделать так 10 раз, за что отвечает цикл ваш от 1 до 10.
3. Заменить строку
for (int i = 1; i<10; i++) // - даст 9 итераций
на
for (int i = 1; i<=10; i++) // - даст 10 итераций
или на
for (int i = 0; i<10; i++) // - даст 10 итераций
т. к. это даст вам 10 итераций,
(Второй вариант оставить объявление цикла как есть, но тогда double costForTenMounth = cost; // и нужно следить, чтобы до этой инициализации в cost была верное значение - величина расходов первого месяца И в теле цикла строку cost = cost * 1.03; поставить перед суммированием, а после суммирования убрать)
Олег Метленко
Спасибо)
А с выводом тут все хорошо, тут расчеты хреновые.
Замени весь свой ужас с циклами единственной строчкой:
double costForTenMounth = cost * Enumerable.Range(0, 9).Select(x => Math.Pow(1.03, x)).Sum();
Замени весь свой ужас с циклами единственной строчкой:
double costForTenMounth = cost * Enumerable.Range(0, 9).Select(x => Math.Pow(1.03, x)).Sum();
Невозможно
Похожие вопросы
- Сегодня начал учить c#, решил сделать калькулятор простой и столкнулся с такой ошибкой при компиляции, хелпуйте.
- C#, пытался сделать калькулятор
- C# помогите написать простую прогу
- C# Помогите решить задачу! Нужен полный код!
- C#: помогите, пожалуйста, исправить код
- Unity C#. Помогите с управлением персонажа...
- C# Помогите с Текстовым редактором
- Помогите сделать фильтрацию массива в С#
- Помогите разобраться с заданием! C#
- Помогите пожалуйста. Написать на C#