Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 21.10.2014
Сообщений: 11

Не могу грамотно прервать цикл

23.10.2014, 14:27. Показов 763. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу простенький расчет выплат кредита:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$creditBalance = 40000;// текущий долг
$percent = 1.03;//процент по кредиту (3%)
$servicePayment = 1000;// ежемесячная комиссия по кредиту
$monthlyPayment = 5000;// ежемесячный платеж
$paymentTotal = 0;// текущие выплаты по кредиту
 
for ($month = 1; $month <= 20; $month ++)
{
 
    $creditBalance = ( $creditBalance * $percent ) + $servicePayment - $monthlyPayment;// расчет остатка по долгу
    $paymentTotal = $paymentTotal + $monthlyPayment;
    echo "{$month} месяц спустя: долг = {$creditBalance} руб, выплачено всего {$paymentTotal} руб. </br>";
 
if (( $creditBalance * $percent ) + $servicePayment < 5000  )// если долг меньше ежемесячного платежа, то нужно выплатить остаток
   {
    $monthlyPayment = $creditBalance;
     $percent = 0;
      $servicePayment = 0;
   }
elseif( $creditBalance  <= 0)
    {
    echo("Thats all, foks");
    break;
    }
  }
?>
С момента, когда ежемесячный платеж превышает задолженность начинается лажа.
1 месяц спустя: долг = 37200 руб, выплачено всего 5000 руб.
2 месяц спустя: долг = 34316 руб, выплачено всего 10000 руб.
3 месяц спустя: долг = 31345.48 руб, выплачено всего 15000 руб.
4 месяц спустя: долг = 28285.8444 руб, выплачено всего 20000 руб.
5 месяц спустя: долг = 25134.419732 руб, выплачено всего 25000 руб.
6 месяц спустя: долг = 21888.452324 руб, выплачено всего 30000 руб.
7 месяц спустя: долг = 18545.1058937 руб, выплачено всего 35000 руб.
8 месяц спустя: долг = 15101.4590705 руб, выплачено всего 40000 руб.
9 месяц спустя: долг = 11554.5028426 руб, выплачено всего 45000 руб.
10 месяц спустя: долг = 7901.13792788 руб, выплачено всего 50000 руб.
11 месяц спустя: долг = 4138.17206572 руб, выплачено всего 55000 руб.
12 месяц спустя: долг = 262.31722769 руб, выплачено всего 60000 руб.
13 месяц спустя: долг = -262.31722769 руб, выплачено всего 60262.3172277 руб.
14 месяц спустя: долг = 262.31722769 руб, выплачено всего 60000 руб.
15 месяц спустя: долг = -262.31722769 руб, выплачено всего 60262.3172277 руб.
16 месяц спустя: долг = 262.31722769 руб, выплачено всего 60000 руб.
17 месяц спустя: долг = -262.31722769 руб, выплачено всего 60262.3172277 руб.
18 месяц спустя: долг = 262.31722769 руб, выплачено всего 60000 руб.
19 месяц спустя: долг = -262.31722769 руб, выплачено всего 60262.3172277 руб.
20 месяц спустя: долг = 262.31722769 руб, выплачено всего 60000 руб
.


Что я делаю не так?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.10.2014, 14:27
Ответы с готовыми решениями:

Не могу грамотно написать цикл поиска (зацикливается)
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;fstream&gt; #include &lt;vector&gt; using namespace std; int...

Цикл: Как грамотно организовать цикл с получением количества верных и неверных ответов?
Доброго времени суток, товарищи. Вот есть у меня два рандомно генерируемых числа, проверка произведения которых проверяется вводом ответа...

Прервать цикл
Доброго вечера... появилась задача - есть код for(ptrdiff_t i = 0; i &lt; ptrdiff_t(Memo1-&gt;Lines-&gt;Count); i++) ...

1
 Аватар для Игорь[Igor]
726 / 478 / 130
Регистрация: 24.12.2008
Сообщений: 3,924
23.10.2014, 14:33
Потому что сбрасывается то что рассчитано было
PHP
1
2
3
$monthlyPayment = $creditBalance;
$percent = 0;
$servicePayment = 0;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.10.2014, 14:33
Помогаю со студенческими работами здесь

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

Прервать бесконечный цикл
Добрый день У меня получается бесконечный цикл подскажите как сделать0 чтобы например пользователь ввел слово какое то или может кнопку...

Как прервать цикл?
Как в цикл foreach($users as $user) { $req = $this-&gt;parent-&gt;Follow($user, $action == &quot;unfollow&quot; ? true : false); if($req == 'ok')...

Цикл do while как прервать
int a; do { printf(&quot;\nEnter number - '1' or '0':&quot;); scanf_s(&quot;%d&quot;, &amp;a); if (a == 1) { ...

Прервать бесконечный цикл
Добрый день, подскажите плиииз.... Иногда при отладке запутанных алгоритмов (линейных = без колбэков) попадаю в бесконечные циклы! В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru