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

22 Авг 2020 в 19:42
192 +1
1
Ответы
1

program BankAccounts;

type
Client = record
accountNumber: Integer;
lastName: string;
balance: Real;
end;

var
clients: array of Client;

procedure AddClient;
var
newClient: Client;
begin
Write′Enteraccountnumber:′'Enter account number: 'Enteraccountnumber:;
ReadLnnewClient.accountNumbernewClient.accountNumbernewClient.accountNumber;
Write′Enterlastname:′'Enter last name: 'Enterlastname:;
ReadLnnewClient.lastNamenewClient.lastNamenewClient.lastName;
Write′Enterbalance:′'Enter balance: 'Enterbalance:;
ReadLnnewClient.balancenewClient.balancenewClient.balance;

SetLengthclients,Length(clients)+1clients, Length(clients) + 1clients,Length(clients)+1;
clientsHigh(clients)High(clients)High(clients) := newClient;
end;

procedure PrintClients;
var
i: Integer;
begin
for i := 0 to Highclientsclientsclients do
begin
WriteLn′Accountnumber:′,clients[i].accountNumber'Account number: ', clients[i].accountNumberAccountnumber:,clients[i].accountNumber;
WriteLn′Lastname:′,clients[i].lastName'Last name: ', clients[i].lastNameLastname:,clients[i].lastName;
WriteLn′Balance:′,clients[i].balance'Balance: ', clients[i].balanceBalance:,clients[i].balance;
WriteLn′−−−−−−−−−−−−−−−−−−−−−−−′'-----------------------';
end;
end;

procedure FindClientByLastNamelastName:stringlastName: stringlastName:string;
var
i: Integer;
begin
for i := 0 to Highclientsclientsclients do
begin
if clientsiii.lastName = lastName then
begin
WriteLn′Accountnumber:′,clients[i].accountNumber'Account number: ', clients[i].accountNumberAccountnumber:,clients[i].accountNumber;
WriteLn′Lastname:′,clients[i].lastName'Last name: ', clients[i].lastNameLastname:,clients[i].lastName;
WriteLn′Balance:′,clients[i].balance'Balance: ', clients[i].balanceBalance:,clients[i].balance;
Exit;
end;
end;

WriteLn′Clientnotfound′'Client not found'Clientnotfound;
end;

procedure AddMoneyaccountNumber:Integer;amount:RealaccountNumber: Integer; amount: RealaccountNumber:Integer;amount:Real;
var
i: Integer;
begin
for i := 0 to Highclientsclientsclients do
begin
if clientsiii.accountNumber = accountNumber then
begin
clientsiii.balance := clientsiii.balance + amount;
WriteLn′Moneyaddedsuccessfully′'Money added successfully'Moneyaddedsuccessfully;
Exit;
end;
end;

WriteLn′Clientnotfound′'Client not found'Clientnotfound;
end;

procedure WithdrawMoneyaccountNumber:Integer;amount:RealaccountNumber: Integer; amount: RealaccountNumber:Integer;amount:Real;
var
i: Integer;
begin
for i := 0 to Highclientsclientsclients do
begin
if clientsiii.accountNumber = accountNumber then
begin
if clientsiii.balance >= amount then
begin
clientsiii.balance := clientsiii.balance - amount;
WriteLn′Moneywithdrawnsuccessfully′'Money withdrawn successfully'Moneywithdrawnsuccessfully;
end
else
begin
WriteLn′Notenoughmoneyontheaccount′'Not enough money on the account'Notenoughmoneyontheaccount;
end;
Exit;
end;
end;

WriteLn′Clientnotfound′'Client not found'Clientnotfound;
end;

procedure SaveToFilefilename:stringfilename: stringfilename:string;
var
fileVar: file of Client;
i: Integer;
begin
AssignfileVar,filenamefileVar, filenamefileVar,filename;
RewritefileVarfileVarfileVar;

for i := 0 to Highclientsclientsclients do
begin
WritefileVar,clients[i]fileVar, clients[i]fileVar,clients[i];
end;

ClosefileVarfileVarfileVar;
end;

procedure LoadFromFilefilename:stringfilename: stringfilename:string;
var
fileVar: file of Client;
tempClient: Client;
begin
AssignfileVar,filenamefileVar, filenamefileVar,filename;
ResetfileVarfileVarfileVar;

while not EOFfileVarfileVarfileVar do
begin
ReadfileVar,tempClientfileVar, tempClientfileVar,tempClient;
SetLengthclients,Length(clients)+1clients, Length(clients) + 1clients,Length(clients)+1;
clientsHigh(clients)High(clients)High(clients) := tempClient;
end;

ClosefileVarfileVarfileVar;
end;

var
choice: Integer;
lastName: string;
accountNumber: Integer;
amount: Real;
filename: string;

begin
repeat
WriteLn′1.Addclient′'1. Add client'1.Addclient;
WriteLn′2.Printclients′'2. Print clients'2.Printclients;
WriteLn′3.Findclientbylastname′'3. Find client by last name'3.Findclientbylastname;
WriteLn′4.Addmoneytoaccount′'4. Add money to account'4.Addmoneytoaccount;
WriteLn′5.Withdrawmoneyfromaccount′'5. Withdraw money from account'5.Withdrawmoneyfromaccount;
WriteLn′6.Savetofile′'6. Save to file'6.Savetofile;
WriteLn′7.Loadfromfile′'7. Load from file'7.Loadfromfile;
WriteLn′8.Exit′'8. Exit'8.Exit;

Write′Enteryourchoice:′'Enter your choice: 'Enteryourchoice:;
ReadLnchoicechoicechoice;
case choice of
1: AddClient;
2: PrintClients;
3: begin
Write′Enterlastname:′'Enter last name: 'Enterlastname:;
ReadLnlastNamelastNamelastName;
FindClientByLastNamelastNamelastNamelastName;
end;
4: begin
Write′Enteraccountnumber:′'Enter account number: 'Enteraccountnumber:;
ReadLnaccountNumberaccountNumberaccountNumber;
Write′Enteramounttoadd:′'Enter amount to add: 'Enteramounttoadd:;
ReadLnamountamountamount;
AddMoneyaccountNumber,amountaccountNumber, amountaccountNumber,amount;
end;
5: begin
Write′Enteraccountnumber:′'Enter account number: 'Enteraccountnumber:;
ReadLnaccountNumberaccountNumberaccountNumber;
Write′Enteramounttowithdraw:′'Enter amount to withdraw: 'Enteramounttowithdraw:;
ReadLnamountamountamount;
WithdrawMoneyaccountNumber,amountaccountNumber, amountaccountNumber,amount;
end;
6: begin
Write′Enterfilenametosavedata:′'Enter filename to save data: 'Enterfilenametosavedata:;
ReadLnfilenamefilenamefilename;
SaveToFilefilenamefilenamefilename;
end;
7: begin
Write′Enterfilenametoloaddata:′'Enter filename to load data: 'Enterfilenametoloaddata:;
ReadLnfilenamefilenamefilename;
LoadFromFilefilenamefilenamefilename;
end;
end;

until choice = 8;
end.

18 Апр 2024 в 10:38
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир