Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2007, 00:24   #1
Klyan
Пользователь
 
Регистрация: 30.12.2006
Сообщений: 26
По умолчанию Создать список клиентов банка

Эважаемые программисты, бросьба помочь мне вот с какой задаче:
Создать список клиентов банка. Описать и ввести массив, содержажий 10 записей следующей структуры: ФИО, адрес, возоаст, № счета, счет (руб.). Вывести массив в табличном виде по номеру счета. Вывести списки клиентов проживающих по пр. Ленина, затем клинтов старше 70 лет. Найти средний возраст клиентов.

заранее благодарен.


Klyan вне форума Ответить с цитированием
Старый 14.01.2007, 08:30   #2
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию Привет

До когда нужна задача?
merax вне форума Ответить с цитированием
Старый 15.01.2007, 00:26   #3
Klyan
Пользователь
 
Регистрация: 30.12.2006
Сообщений: 26
По умолчанию

Цитата:
Сообщение от merax Посмотреть сообщение
До когда нужна задача?
во понедельник 15 января! помогите пожалуйста!!!
Klyan вне форума Ответить с цитированием
Старый 15.01.2007, 12:45   #4
Umen
Форумчанин
 
Аватар для Umen
 
Регистрация: 10.11.2006
Сообщений: 189
По умолчанию

Вот прога. На русский сам переведи,
контроль вводимых значений тоже сам сделай.

Код:
uses crt;
const
 {Kol-vo cifr v FIO}
 LName = 40;
 {Kol-vo cifr v adrese}
 LAddress = 20;
 {Kol-vo cifr v nomere schota}
 LNAccount = 10;
 {Kolichestvo klientov banka}
        MaxClients =10;
type
 {klient banka}
 TBankClients = record
  {FIO}
  Name: String[LName];
  {Vozrast}
  Old: Byte;
  {Adres}
  Address: String[LAddress];
  {Nomer schota}
  NAccount: String[LNAccount];
 end;
var
 {massiv klientov banka}
 BankClients: Array[1..MaxClients] of TBankClients;

{pausa mezhdy vyvodom}
procedure Pause;
var
   ch: char;
begin
     Writeln;
     WriteLn('Nazhmite Ljubuju klavishu');
     Writeln;
     ch := readkey;
     while not keypressed do ch := readkey;
end;

{vvodim klientov s klaviatry}
procedure InputKlients;
var
 i: integer;
begin
        ClrScr;
 for i := 1 to MaxClients do begin
  WriteLn('Klient №', i, ': ');
  Write('FIO: ');
  Readln(BankClients[i].Name);
  Write('Vozrast: ');
  Readln(BankClients[i].Old);
  Write('Adres: ');
  Readln(BankClients[i].Address);
  Write('№ Schota: ');
  Readln(BankClients[i].NAccount);
                Writeln;
 end;
        ClrScr;
end;
{vyvodim klienta Klient}
procedure OutKlient(Klient: TBankClients);
var
 XPos, YPos: integer;
begin
 XPos := WhereX;
 YPos := WhereY;
 With Klient do begin
  Write(Name);
  XPos := XPos + LName + 1;
  GotoXY(XPos, YPos);
  Write(Old);
  XPos := XPos + 6;
  GotoXY(XPos, YPos);
  Write(Address);
  XPos := XPos + LAddress + 1;
  GotoXY(XPos, YPos);
  WriteLN(NAccount);
 end;
end;
{vvodim zagolovki stolbcov}
procedure PrintHeaders;
var
 XPos, YPos: integer;
        i: integer;
begin
 XPos := WhereX;
 YPos := WhereY;
        Write('FIO');
 XPos := XPos + LName + 1;
 GotoXY(XPos, YPos);
 Write('Vozr.');
 XPos := XPos + 6;
 GotoXY(XPos, YPos);
 Write('Adres');
 XPos := XPos + LAddress + 1;
 GotoXY(XPos, YPos);
 Writeln('N Schota');
        for i := 1 to LName + LAddress + LNAccount + 8 do
            Write('-');
        Writeln;
end;
{Sortiruem po nomeru schota}
procedure SortByAccount;
var
   i, j: integer;
   max, tmp: TBankClients;
   pos: integer;
begin
     for i := MaxClients - 1 downto 1 do begin
         max := BankClients[1];
         pos := 1;
         for j := 2 to i + 1 do
             if BankClients[j].NAccount > max.NAccount then begin
                max := BankClients[j];
                pos := j;
             end;
         tmp := BankClients[i + 1];
         BankClients[i + 1] := Max;
         BankClients[pos] := tmp;
     end;
end;
{vyvodim vseh klientov na ekran}
procedure OutByAccount;
var
   i, j: integer;
begin
     Writeln('***** Klienty banka, vyvod po nomeru scota *****');
     PrintHeaders;
     SortByAccount;
     for i := 1 to MaxClients do
         OutKlient(BankClients[i]);
     pause;
end;
{vyvodim vseh klientov kotorye zhivut na ul. Lenina na ekran}
procedure OutOnLeninStr;
var
   i: integer;
begin
     Writeln('***** Klienty banka, prozhivajushcie na ulice Lenina *****');
     PrintHeaders;
     for i := 1 to MaxClients do
         if Pos('Lenin', BankClients[i].Address) > 0 then
            OutKlient(BankClients[i]);
     pause;
end;
{vyvodim vseh klientov starsh 70 let na ekran}
procedure OutOlder70;
var
   i: integer;
begin
     Writeln('***** Klienty banka starshe 70 let *****');
     PrintHeaders;
     for i := 1 to MaxClients do
         if BankClients[i].Old > 70 then
            OutKlient(BankClients[i]);
     pause;
end;
{vyvodim srednij vozrast klientov na ekran}
procedure OutAverageOld;
var
   i: integer;
   sum: integer;
   average: double;
   strAverage: string;
begin
     Writeln('***** Srednij vozrast klientov banka *****');
     sum := 0;
     for i := 1 to MaxClients do
         sum := sum + BankClients[i].Old;
     average := sum / MaxClients;
     Str(average:5:2, strAverage);
     WriteLn(strAverage);
     Pause;
end;

begin
 InputKlients;
 OutByAccount;
 OutOnLeninStr;
 OutOlder70;
 OutAverageOld;
end.
Вспомнил старые-добрые времена, когда всему курсу писал вот такие задачки... Заодно и турбо паскаль вспомнил - последний раз уже забыл, когда на нём писал... :-)
Umen вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имеется список,элементами которого являются вещественные числа.Создать консольное приложение,описывающее Smart Помощь студентам 1 06.05.2008 08:09
Fox Pro - Автоматизация анализа доходов коммерческого банка _CezaR_041 Помощь студентам 6 07.12.2007 15:23
Сервер и несколько клиентов Andr Работа с сетью в Delphi 10 17.09.2007 09:24
[pascal]создать линейный список из элементов файла sunny19 Паскаль, Turbo Pascal, PascalABC.NET 1 25.06.2007 20:33