Помогите Исправить Ошибку(незначительную)

  • Автор темы romapalivo
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

romapalivo

В билдере написать программу «Доход по вкладу», которая вычисляет доходы в зависимости от выбора пользователя – простые или сложные проценты. Простые проценты начисляются в конце срока вклада, сложные – ежемесячно и прибавляются к первоначальной сумме вклада и в следующем месяце проценты начисляются на новую сумму. Пользователь вводит только целые положительные числа – сумма вклада в тысячах белорусских рублей, срок в днях и процентная ставка в процентах и выбирает тип расчета, после чего кнопка пересчета становится доступной.

Вот что сделал:

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "math.h"

#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int sum;
int pr;
int srok;
int dohod;
int buf;
int i;
sum=StrToFloat(Edit1->Text);
pr=StrToFloat(Edit2->Text);
srok=StrToInt(Edit3->Text);
if(RadioButton1->Checked)
{
dohod=sum*(pr/100)*(srok/360);
}
else
{
buf=sum;
for (int i=1;i<srok;i++)
{
buf=buf+buf*(pr/100);
dohod=buf-sum;
}
}
sum=sum+dohod;
Label4->Caption="Доход: " + FloatToStrF(dohod, ffGeneral, 9,2) +
"Сумма в конце срока вклада: " +
FloatToStrF(sum, ffGeneral, 9,2);
}

void __fastcall TForm1::RadioButton1Click(TObject *Sender)
{
Label2->Caption="Срок(дней)";
Label4->Caption="";
}

void __fastcall TForm1::RadioButton2Click(TObject *Sender)
{
Label2->Caption="Срок(мес)";
Label4->Caption="";
}

Помогите найти ошибку!
 
I

ixoyz

попробуй так:
C++:
if(RadioButton1->Checked)
{
dohod=sum*(pr/100.)*(srok/360.);
}
else
{
buf=sum;
for (int i=1;i<srok;i++)
{
buf=buf+buf*(pr/100.);
dohod=buf-sum;
}
}
А вообще, я бы и тип данных у переменных поменял бы, но тут уже в зависимость от задачи.
 
E

Eleno4ka

А вообще, я бы и тип данных у переменных поменял бы, но тут уже в зависимость от задачи.
Вообще в принципе лучше float для расчета процентов в любой задаче использовать, и в отдельную переменную, или сразу при выводе с помощью функций округленное значение вносить
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!