1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "С и С++", создана пользователем romapalivo, 30 мар 2012.

Статус темы:
Закрыта.
  1. romapalivo

    romapalivo Гость

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

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

    #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="";
    }

    Помогите найти ошибку!
     
  2. ixoyz

    ixoyz Member

    Репутация:
    0
    Регистрация:
    12 май 2012
    Сообщения:
    16
    Симпатии:
    0
    попробуй так:
    Код:
    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;
    }
    }
    А вообще, я бы и тип данных у переменных поменял бы, но тут уже в зависимость от задачи.
     
  3. Eleno4ka

    Eleno4ka Гость

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

Поделиться этой страницей