Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проект7.rtf
Скачиваний:
8
Добавлен:
11.04.2015
Размер:
4.22 Mб
Скачать

9. Запрограммируйте кнопки SpeedButtonl и SpeedButton2 следующим образом:

Щелкайте на кнопке :

// Кнопка результатов года

void __fastcall TForm1::SpeedButton1Click(TObject *Sender)

{

int first, second, variant, i;

randomize();

variant = random(100); //Случайный выбор возможного состояния рынка

//Первый и второй разделители отрезка вероятностей

first = prob[r][1]; second = first+prob[r][2];

//Начальное значение прибыли перед суммированием

profit = 0;

//Получаем числовые значения для инвестиций и заполняем ими массив money

for (i=0;i<2;i++)

money[i]=StrToFloat(StringGrid2->Cells[0][i+1]);

//Вычисление прибыли для первого варианта

if (variant < first)

{

for (i=0;i<2;i++)

//Суммирование по предприятиям

profit = profit + money[i] * P[r][i+1][1];

//{Подчеркивание выбранного варианта

Label9->Visible = true;

//Информационная строка

Label8->Caption = "Возросло евро";

}

//Вычисление прибыли для второго варианта состояния рынка

if (variant >= first && variant < second)

{

for (i=0;i<2;i++)

//{Суммирование по предприятиям}

profit = profit + money[i] * P[r][i+1][2];

//{Подчеркивание выбранного варианта}

Label10->Visible = true;

Label8->Caption = "Выросла Йена";

//{Информационная строка}

}

//{Вычисление прибыли для третьего варианта состояния рынка}

if (variant >= second)

{

for (i=0;i<2;i++)

//Суммирование по предприятиям

profit = profit + money[i] * P[r] [i+1][2];

//Подчеркивание выбранного варианта

Label11->Visible = true;

//Информационная строка

Label8->Caption = "Вырос доллар";

}

}

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

//Кнопка перехода на следующий год

void __fastcall TForm1::SpeedButton2Click(TObject *Sender)

{

year = year+1;

//Следующий год

capital = capital + profit;

//Обновляем капитал

//Прибыль к началу года равна нулю

profit = 0;

Refresh ();

//Выключаем подчеркивания варианта состояния рынка

Label9->Visible = False;

Label10->Visible = False;

Label11->Visible = False;

//Гасим информацию о прибыли

Label7->Visible = False;

}

10. В окне текста программы Unit1.Cpp введите описание метода Refresh() формы.

void __fastcall TForm1::Refresh()

{

int i,j;

Form1->Label6->Caption = IntToStr(capital) + "долларов";

Form1->Label5->Caption = IntToStr(year) + "год";

Form1->Label7->Caption = IntToStr(profit) + "долларов";

Form1->Label8->Caption = "Введите сумму";

Form1->SpeedButton2->Enabled = False;

Form1->SpeedButton1->Enabled = False;

randomize();

r = random(N);

//Выбор инвестиционного климата r

for (i=1;i<=3;i++)

for (j=1;j<=3;j++)

{

Form1->StringGrid1->Cells[i] [j] = IntToStr(P[r][j][i]) + "центов";

}

for (i=1;i<=3;i++)

{

Form1->StringGrid3->Cells[i] [0] = IntToStr(prob[r][i]) + " %";

Form1->StringGrid2->Cells[0] [i] = " ";

}

}

В разделе подключения модулей в начале кода файла Unit1.cpp добавить прототип описание функции

void __fastcall Refresh() ;

11. Запрограммируйте процедуру создания формы FormCreate.

Для этого дважды щелкните на форме и полученную заготовку процедуры FormCreate заполните следующим образом:

void __fastcall TForm1:: FormCreate(TObject *Sender)

{

capital= 1000;

year = 2000;

profit= 0;

Refresh();

StringGridl->Cells[l] [0] = “Возрастет евро”;

StringGridl->Cells[2][ 0] = “Возрастет Йена”;

StringGridl->Cells[3][ 0] = “Возрастет доллар”;

StringGridl->Cells[0][ 1]= “Hundai”;

StringGridl->Cells[0] [2]= “Philips”;

StringGridl->Cells[0] [3] = “Bosh”;

StringGrid2->Cells[0] [0] = “Инвестиции, $”;

StringGrid3->Cells[0] [0] = “Вероятность”;

}