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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2012, 20:54   #1
taswor
Новичок
Джуниор
 
Регистрация: 18.12.2012
Сообщений: 2
Восклицание

Создать массив записей, содержащих информацию о пациентах зубного врача:
- фамилия пациента;
- число поставленных пломб;
- стоимость одной пломбы;
- сумма задолженности за лечение.

Предусмотреть выдачу справки:
а) о каждом клиенте по запросу;
б) о должниках и общей задолженности по всем пациентам.

Пожалуйста помогите,завтра надо уже сдать,сам не могу разобраться
Код:
uses crt;
const N=4; {количество записей}
type
        anketa = record
                fam:  string;
                numb: integer;
                stoim: integer;
                dolg: integer;
        end;
var
  mas:array[1..N] of anketa;
  i,summa,nomrey:integer; ch,st,st1:char;

  {------------------Процедура вывода записи на экран-----------------------}

  procedure print(i1:integer);
  begin
  writeln;
  writeln;
  writeln('Нажмите любую клавишу');
  readkey;
  clrscr;
        writeln;
        writeln('Фамилия пациента: ', mas[i1].fam);
        writeln('Число поставленных пломб: ', mas[i1].numb);
        writeln('Стоимость одной пломбы: ', mas[i1].stoim);
        writeln('Сумма задолженности за лечение: ', mas[i1].dolg);
  end;

  {------Процедура поиска о должниках и общей задолженности по всем пациентамг---------}

  procedure find1(masiv:anketa);
  begin
        if (mas[i].dolg>=1) then
        print(i);
  end;

  {---------------Процедура нахождения о каждом клиенте по запросу--------------------}

  procedure summ(st:char; var sum:integer);
  begin
  sum:=0;
  if (st='Y')  or (st='y') then
  for i:=1 to N do
  sum:=sum+mas[i].dolg;
  end;

  {--Процедура нахождения номера рейса багажа по номеру багажной квитанции--}

  procedure find(st1:char; var nomer:integer);
  var kvit:integer;
  begin
  if (st1='Y') or (st1='y') then
     begin
     writeln;
     writeln('Введите номер багажной квитанции');
     read(kvit);
                for i:=1 to N do
                with mas[i] do
                if (kvit=numb) then
                    nomer:=numb;
                    end;
     end;

  {--------------------------Основная программа-----------------------------}

 begin
     for i := 1 to N do
                with mas[i] do
                begin
                        clrscr;
                        gotoxy(1, 1);
                        writeln('Анкета номер', i);
                        writeln('Осталось ', n - i, ' анкет');
                        write('Фамилия: '); readln(fam);
                        write('Число поставленных пломб: '); readln(numb);
                        write('Стоимость одной пломбы: '); readln(stoim);
                        write('Сумма задолженности за лечение: ');
      readln(dolg);
                end;
        Writeln;
   writeln('Искать пассажиров с долгом?(y/n)');
   ch:=readkey;
        if (ch='y') or (ch='Y') then
             for i:=1 to n do
             find1(mas[i]);
             writeln;
             writeln;
             writeln('Найти общий долг?(y/n)');
                        st:=readkey;
                        summ(st,summa);
                        writeln;
                        writeln('Общий долг равен: ',summa);
                        writeln;
             writeln('Искать всех клиентов)?(y/n)');
             st1:=readkey;
             find(st1,nomrey);
             writeln;
             writeln('Общий долг: ',nomrey);
   readkey;
   end.
Я запутался,помогите!

Последний раз редактировалось Stilet; 18.12.2012 в 22:25.
taswor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив записей(Pascal) taswor Помощь студентам 0 18.12.2012 19:43
Создать массив записей в соответствии с заданной структурой. Количество записей не больше 10. zulja Паскаль, Turbo Pascal, PascalABC.NET 0 21.05.2012 07:50
Массив записей... eragon_ua Паскаль, Turbo Pascal, PascalABC.NET 2 29.03.2011 15:08
массив записей qwerty98765 Помощь студентам 3 27.04.2010 19:07