Лаболаторная работа Моделирование системы баннов в С ++ |
Купить Гарантия | |
Код работы: | 1929 | |
Дисциплина: | Информатика | |
Тип: | Контрольная | |
Вуз: | АлтГТУ - посмотреть другие работы и дисциплины по этому вузу | |
Цена: | 290 руб. | |
Просмотров: | 6053 | |
Уникальность: | В пределах нормы. При необходимости можно повысить оригинальность текста |
|
Содержание: |
Лабораторные работы + отчет Подробности уточняйте у менеджеров "ИнПро" |
|
Отрывок: |
Задание: Моделирование системы банков. Процесс передачи денег, взаимодействие между различными счетами внутри банка и с другими банками. Возможность, как вручную переводить деньги, так генерация случайной цепочки передачи. Задание параметров модели. Визуализация результатов. Текст программы: // Файл 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 ; | |
Купить эту работу Гарантия возврата денег |
Тема: | Пенсионный фонд России: анализ бюджета. Реформирование системы пенсионного страхования. | Подробнее |
Тип: | Курсовая | |
Вуз: | ВЗФИ | |
Просмотры: | 4865 | |
Тема: | Организация и совершенствование системы непрерывного обучения персонала | Подробнее |
Тип: | Дипломная | |
Вуз: | МФЭИ | |
Просмотры: | 7125 | |
Тема: | Совершенствование системы бюджетирования | Подробнее |
Тип: | Дипломная | |
Вуз: | СПБУЭ | |
Просмотры: | 6366 | |
Тема: | Совершенствование системы расходов бюджета в сфере материального производства | Подробнее |
Тип: | Курсовая | |
Вуз: | РГУТИС | |
Просмотры: | 9562 | |
Тема: | Формирование системы знаний учащихся средней школы по теме «Обработка числовой информации средствами табличных процессоров» | Подробнее |
Тип: | Курсовая | |
Вуз: | АГУ | |
Просмотры: | 5320 | |
Тема: | (3 глава + заключение) Совершенствование системы мотивации персонала на предприятиях индустрии питания | Подробнее |
Тип: | Часть дипломной | |
Вуз: | МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПИЩЕВЫХ ПРОИЗВОДСТВ | |
Просмотры: | 2995 | |