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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2011, 19:28   #1
Black_butterfly
Пользователь
 
Аватар для Black_butterfly
 
Регистрация: 26.06.2010
Сообщений: 14
По умолчанию Комбинированный тип данных

Доброго времени суток!
Взгляните, пжл, программку

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

Вот мои наброски, но они не оч работают:

Код:
uses crt;

type
tablica=record
name:string[25];
zp:integer;
end;

function menu:byte;
   var
      key:byte;
   begin
Writeln('');
Writeln('Меню:');
Writeln('1-вывод всей информации в табличной форме');
Writeln('2-вывод информации о работниках,чья зарплата ниже средней по предприятию');
Writeln('3-выход из программы');
Writeln('');
readln(key);
   menu:=key;
end;

var
i,n,j,x,sum:integer;
zp:real;
mas:array[1..30] of tablica;

begin

Writeln('Введите количество работников ');Readln(n);
for i:=1 to n do
with mas[i] do  begin
Write(i,' ');
Write('Введите ФИО работника');
Readln(name);
Write('Введите зарплату работника   ');
Readln(zp);
end;
j:=menu;
 while j<>3 do
      begin
         case j of
            1:begin
                  writeln;
                     for i:=1 to n do
                     with mas[i] do
                        writeln(name,'|',zp);
                   end;

            2:begin
            x:=0;
            writeln;
            for i:=1 to n do
            with mas[i] do
            begin
            x:=x+sum;
            end;
            zp:=1;
            zp:=x/n;
            with mas[i] do
            if zp<sum then
            writeln('Зарплата ниже средней:');
            end;
            
            3:exit;
            end;

      end;
   readkey;

end.
подправьте, буду очень признательна

Последний раз редактировалось Black_butterfly; 13.04.2011 в 19:31. Причина: ---------
Black_butterfly вне форума Ответить с цитированием
Старый 14.04.2011, 11:29   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

Код:
program zp;
uses crt;

type
tablica=record
name:string[25];
zp:integer;
end;

function menu:byte;
   var
      key:byte;
   begin
Writeln('');
Writeln('Menu:');
Writeln('1-allout');
Writeln('2-srzpout');
Writeln('3-quit');
Writeln('');
readln(key);
   menu:=key;
end;

var
i,n,j,x,sum:integer;
srzp:real;
mas:array[1..30] of tablica;

begin
Writeln('count? ');
Readln(n);
for i:=1 to n do
  begin
  Write(i,': ');
  Writeln('FIO ?');
  Readln(mas[i].name);
  Writeln('ZP?   ');
  Readln(mas[i].zp);
  end;
j:=menu;
while j<>3 do begin
  case j of
    1 : begin
        writeln;
        for i:=1 to n do
          writeln(mas[i].name,'|',mas[i].zp);
        end;
    2 : begin
        sum:=0;
        writeln;
        for i:=1 to n do
          sum := sum + mas[i].zp;
        srzp:=sum/n;
        for i:=1 to n do
        if mas[i].zp<srzp then
        writeln('zp lower than srzp has ' + mas[i].name);
        end;
    3 : exit;
    end;
  j:=menu;
  end;
end.
силь ву пле , мадам )
phomm вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Комбинированный тип данных (записи) cerg23 Помощь студентам 0 11.04.2011 19:13
Комбинированный тип данных ne4eHUce Помощь студентам 3 11.04.2011 01:36
Записи комбинированный тип данных Александр Бутырин Паскаль, Turbo Pascal, PascalABC.NET 4 28.12.2010 18:34
Комбинированный тип данных Nightt Помощь студентам 0 19.06.2009 18:25