Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal] Создать список


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

Автор: Strannik 29.1.2007, 20:48
Уточнющий вопрос:
 Что должен представлять из себя адрес? Строку или запись с полями "дом", "Улица" и т.д?

Автор: klyan 29.1.2007, 22:10
Спасибо, что Вы откликнулись!
Строка адрес, должна содержать улицу и дом. 

Автор: Strannik 29.1.2007, 22:40
Ну тогда лови:

Код

type klient=record
         Fio: string;
         adr: string;
         Age: byte;
         Ns: integer;
         Sum: integer;
        end;
var bank: array [1..10] of klient;
      i,sum: longint;
begin
 {считаем данные с клавы}
 for i:=1 to 10 do
  begin
   wirteln('Klient #',i,);
   writeln('Fio:');
   readln(bank[i].fio);
   writeln('Adr:');
   readln(bank[i].adr);
   writeln('Age:');
   readln(bank[i].age);
   writeln('№:');
   readln(bank[i].Ns);
   writeln('Bablo:');
   readln(bank[i].sum); 
  end;
 {Выведем. Если я не так понял "в табличном виде" - скажешь потом как надо.}
 for i:=1 to 10 do
  begin
   writeln('Schet #',bank[i].Ns);
   writeln('Vkladchik: ',bank[i].Fio);
   writeln('Vozrast: ',bank[i].age);
   writeln('Adres: ',bank[i].adr);
   writeln('Deneg na schetu: ',bank[i].sum);
  end;
 {Найдём жителей улицы Ленина. Тут проблема в том что пользователь мог ввести     как "Ленина", "ЛЕНИНА","ленина" и т.д. Но для прототы будем считать что название написано без ошибок и с большой буквы}
 writeln('S ulicu lenina:');  
 for i:=1 to 10 do
   begin
    if pos('Lenina',bank[i].adr)<>0 then
     begin
      writeln('Schet #',bank[i].Ns);
      writeln('Vkladchik: ',bank[i].Fio);
      writeln('Vozrast: ',bank[i].age);
      writeln('Adres: ',bank[i].adr);
      writeln('Deneg na schetu: ',bank[i].sum);
     end;
   end;
 {вывод старичков}
  for i:=1 to 10 do
   begin
    if bank[i].age>70 then
     begin
      writeln('Schet #',bank[i].Ns);
      writeln('Vkladchik: ',bank[i].Fio);
      writeln('Vozrast: ',bank[i].age);
      writeln('Adres: ',bank[i].adr);
      writeln('Deneg na schetu: ',bank[i].sum);
     end;
   end;
 {podschet vozrasta}
 sum:=0;
 for i:=1 to 10 do
  sum:=bank[i].age;
 writeln('Sr. Vozr.: ',sum);
 writeln('********Большое-большое спасибо Strannik'у за сию чудесную программу**********')
end.

Код я не компилирова и не тестил, я думаю синтаксические ошибки, если они есть, исправить будет не сложно....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)