Разработка прикладного алгоритма и его реализация на языке С++

Автор работы: Пользователь скрыл имя, 25 Января 2013 в 21:42, курсовая работа

Краткое описание

Задание: Разработать программу для итерационного поиска размеров равномерных выплат по кредиту. Выплаты и начисления процентов на оставшуюся сумму производятся ежемесячно. Исходные данные: размер кредита, срок выплат (от 1 до 5 лет), процентная ставка. В диалоговом окне изобразить график изменения остатка от суммы кредита.

Содержание работы

1. Постановка задачи……………………………………………….……3
2. Среда программирования Borland C++ Builder…………………..4
3. Математическое обеспечение…………………………….…………10
4. Разработка алгоритма программы в виде блок-схемы…….……11
5. Описание работы программы………….…………………………….12
6. Выводы………………………………….……………………………….15
7. Список используемой литературы…….………………………….16
Приложение ………………….……………………………..……………..17

Содержимое работы - 1 файл

Курсач.doc

— 560.50 Кб (Скачать файл)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение

//---------------------------------------------------------------------------

 

#include <vcl.h>

   #include <math.h>

#pragma hdrstop

 

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

        : TForm(Owner)

{

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::Button1Click(TObject *Sender)

{

long int a,b,c,x,p,po;

float o,y;

 

if (OpenDialog1->Execute())

  {

   Memo1->Lines->LoadFromFile(OpenDialog1->FileName);

  Edit1->Text="Данные загружены";

  a=StrToInt(Memo1->Lines->operator [](0));

  Label2->Caption=IntToStr(a);

  b=StrToInt(Memo1->Lines->operator [](1));

  Label4->Caption=IntToStr(b);

  c=StrToInt(Memo1->Lines->operator [](2));

  Label6->Caption=IntToStr(c);

  o=0;

  if ((StrToInt(Label4->Caption)>=1) && (StrToInt(Label4->Caption)<=5))

        {

       for (y=a*c/100;y<=a;y=y+0.001)

        {

        o=a;

        po=1;

      while (po<=b*12)

                {

                o=o+o*c/100;

                 o=o-y;

                 po=po+1;

                }

      if (o<-1) break;

        if ((o<1) && (o>=-1))

                {

        Label8->Caption=FloatToStrF(y,ffFixed,5,2);

        o=a;

        po=1;

        Image1->Canvas->MoveTo(15,200);

        Image1->Canvas->LineTo(15,5);

        Image1->Canvas->LineTo(10,10);

        Image1->Canvas->MoveTo(15,5);

        Image1->Canvas->LineTo(20,10);

        Image1->Canvas->MoveTo(0,114);

        Image1->Canvas->LineTo(500,114);

        //Image1->Canvas->MoveTo(0,0);

        Image1->Canvas->MoveTo(po*7+14,120-o/10);

      while (po<=b*12)

                {

 

               Image1->Canvas->MoveTo(po*7+14,120-o/10);

                Image1->Canvas->LineTo(po*7+15,120-o/10);

             

                o=o+o*c/100;

                 o=o-y;

                 po=po+1;

                }

 

                }

        }

 

        }

       else

       {

       Edit1->Text="Загружаемые данные не  верны";

       }

  }

 

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Form1->Close();      

}

//---------------------------------------------------------------------------


Информация о работе Разработка прикладного алгоритма и его реализация на языке С++