Международный женский день
Пасха
День Победы
Выберите Ваш город X

Лаболаторная работа Моделирование системы баннов в С ++

Купить Гарантия
Код работы: 1929
Дисциплина: Информатика
Тип: Контрольная
Вуз:АлтГТУ - посмотреть другие работы и дисциплины по этому вузу
   
Цена: 290 руб.
Просмотров: 6051
Уникальность: В пределах нормы. При необходимости можно повысить оригинальность текста
   
Содержание: Лабораторные работы + отчет
Подробности уточняйте у менеджеров "ИнПро"
   
Отрывок: Задание:

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

Текст программы:
// Файл fMain.cpp
//---------------------------------------------------------------------------

#include
#pragma hdrstop

#include "fMain.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfmMain *fmMain;

//---------------------------------------------------------------------------
// Конструктор основной формы
//---------------------------------------------------------------------------
__fastcall TfmMain::TfmMain(TComponent* Owner)
: TForm(Owner)
{

// Устанавливаем наименования столбцов в списке банков
sgBank->Cells[0][0] = "Номер";
sgBank->Cells[1][0] = "Наименование";

// Устанавливаем наименования столбцов в списке счетов
sgAccount->Cells[0][0] = "Номер";
sgAccount->Cells[1][0] = "Остаток";

// Устанавливаем разрешения на действия
SetActionState();

// Инициализируем датчик случайных чисел
randomize();

// Модель пока не запущена
bRunned = false;
// Банков в модели нет
nBankCount = 0;
// Пределы суммы перевода не определены
nMinTransfer = nMaxTransfer = 0;
}
//---------------------------------------------------------------------------
// Деструктор основной формы
//---------------------------------------------------------------------------
__fastcall TfmMain::~TfmMain()
{
// Удаляем все объекты
DeleteAll();
}
//---------------------------------------------------------------------------
// Удаление созданной структуры объектов
//---------------------------------------------------------------------------
void TfmMain::DeleteAll()
{
// Указатель на очередной элемент
TBankInfo *oBankInfo;

// Запрещаем обработку события
sgBank->OnSelectCell = NULL;

// Пока в списке банков есть элементы
while (sgBank->RowCount > 2 ||
sgBank->Objects[0][sgBank->RowCount - 1] != NULL)
{
// Получаем очередной элемент
oBankInfo = (TBankInfo*) sgBank->Objects[0][sgBank->RowCount - 1];
// Если указатель не 0
if (oBankInfo != NULL)
// Удаляем его
delete oBankInfo;
// Проверяем необходимость удаления элемента из списка
if (sgBank->RowCount > 2)
// Удаляем строку
sgBank->RowCount--;
else
// Очищаем указатель
sgBank->Objects[0][sgBank->RowCount - 1] = NULL;
}

// Запрещаем обработку события
sgBank->OnSelectCell = sgBankSelectCell;
}
//---------------------------------------------------------------------------
// Выполнение перевода
//---------------------------------------------------------------------------
void TfmMain::MakeTransfer(TAccountInfo *pSrcAccountInfo, TAccountInfo *pDstAccountInfo, int pTransfer)
{
// Информация о переводе
TTransferInfo *oTransferInfo;
// Строка для вывода в лог
AnsiString strMessage;

// Если требуемая сумма превышает остаток - выходим
if (pSrcAccountInfo->nCash < pTransfer)
return ;

// Выполняем перевод
pSrcAccountInfo->nCash -= pTransfer;
pDstAccountInfo->nCash += pTransfer;
// Создаем информацию о переводе
// Счет отправитель
oTransferInfo = new TTransferInfo();
oTransferInfo->oSrcAccount = pSrcAccountInfo;
oTransferInfo->oDstAccount = pDstAccountInfo;
oTransferInfo->nAmount = pTransfer;
pSrcAccountInfo->oTransferList->Add((void*)oTransferInfo);
// Счет получатель
oTransferInfo = new TTransferInfo();
oTransferInfo->oSrcAccount = pSrcAccountInfo;
oTransferInfo->oDstAccount = pDstAccountInfo;
oTransferInfo->nAmount = pTransfer;
pDstAccountInfo->oTransferList->Add((void*)oTransferInfo);
// Выводим сообщение в лог
strMessage = pSrcAccountInfo->oBankInfo->strName + " сч. №" + pSrcAccountInfo->strNumber +
" -> " + pDstAccountInfo->oBankInfo->strName + " сч. №" + pDstAccountInfo->strNumber +
": " + IntToStr(pTransfer) + " руб.";
lbLog->Items->Add(strMessage);
}
//---------------------------------------------------------------------------
// Вывод сведений о счетах банка
//---------------------------------------------------------------------------
void TfmMain::ShowAccountList()
{
// Информация о банке
TBankInfo *oBankInfo;
// Информация о счете
TAccountInfo *oAccountInfo;

// Очищаем список счетов
sgAccount->RowCount = 2;
sgAccount->Cells[0][1] = "";
sgAccount->Cells[1][1] = "";
sgAccount->Objects[0][1] = NULL;

// Проверяем наличие записи
if (sgBank->Row Objects[0][sgBank->Row] == NULL)
// Записи нет - выходим
return ;

Купить эту работу
Гарантия возврата денег

 
Не подходит готовая работа? Вы можете заказать курсовую, контрольную, дипломную или другую студенческую работу профессиональным авторам!
 
Вернуться к рубрикатору дисциплин »
 

Другие готовые работы для скачивания, которые могут Вам подойти

Тема: Использование системы маркетинга в управлении предприятием Подробнее
Тип: Курсовая
Вуз: ВЗФЭИ
Просмотры: 8448
Тема: Совершенствование системы управления персоналом государственной службы (на примере Роскомнадзора) Подробнее
Тип: Часть дипломной
Вуз: Неизвестен
Просмотры: 3098
Тема: Совершенствование системы обслуживания на предприятии гостиничного хозяйства ООО «Гостиница «Компас- Тур» Подробнее
Тип: Дипломная
Вуз: НГУЭУ
Просмотры: 7984
Тема: Формирование системы мотивации по освоению компетенций цифровой экономики в организации Подробнее
Тип: Дипломная
Вуз: НВГУ
Просмотры: 6237
Тема: Совершенствование системы финансового обеспечения здравоохранения. Подробнее
Тип: Курсовая
Вуз: КамГУ
Просмотры: 7049
Тема: Формирование системы публичного управления социально-экономическим развитием территории Подробнее
Тип: Часть дипломной
Вуз: Неизвестен
Просмотры: 3091

Поиск других готовых работ, выполненных в «ИнПро»


Не нашли готовую работу? Отправьте заявку - закажите работу по нужной теме нашим авторам!
 
Вы также можете: Вернуться к рубрикатору дисциплин »