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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2013, 01:41   #1
Катя100
Пользователь
 
Регистрация: 21.04.2013
Сообщений: 14
По умолчанию Посчитать среднюю зарплату мужчин и женщин

Помоги посчитать среднюю зарплату мужчин и женщин..а то мне ошибку выдает..
Код:
program kursovik;
uses crt;
type baza=record
  fam:string[30];
  pol:char;
  god:word;
  zarp,chist:word;
  s,k:string;
 
end;
label cnova_god,cnova_zarp;
var f:file of baza;
    punkt:byte;
    bd:baza;
    s,k:string;
    code,v,m,sw,kw,sm,km:integer;
begin
while true do
begin
clrscr;
writeln('                                  MENU                      ');
writeln('1:Vvod');
writeln('2:Prosmotr');
writeln('3:Poisk');
writeln('4:Exit');
readln(punkt);
case punkt of
1:begin
  repeat
  begin
   write('Vvedite familia I.O.  ');
   readln(bd.fam);
   write('Vvedite pol(m/w) ');
   readln(bd.pol);
   cnova_god:write('Vvedite god postyplenia na raboty  ');
   readln(s);
   val(s,v,code);
   if code<>0 then
             begin
             textcolor(14);
             writeln('Neverno vvedena data ',s);
             textcolor(7);
             goto cnova_god;
             end;
   cnova_zarp:write('Vvedite zarplaty  ');
   readln(k);
   val(k,v,code);
   if code<>0 then
             begin
             textcolor(14);
             writeln('Neverno vvedina zarplata ',k);
             textcolor(7);
             goto cnova_zarp;
             end;
   writeln(bd.fam,' ', bd.pol,' ', s,' ', k);
   writeln('Prodolgit?Da-1,Net-0');
   readln(m);
   end;
  until m=0;
  end;
2:begin
  writeln('-----------------------------------------------------');
  writeln('|Familya I.O.|Pol|God postyplenia na raboty|Zarplata|');
  writeln('-----------------------------------------------------');
  write('|', bd.fam:12,'|');
  write( bd.pol:3, '|');
  write(s:25,'|');
  writeln(k:8,'|');
  writeln('-----------------------------------------------------');
  if bd.pol='w' then
   begin
    sw:=sw+k;
    kw:=kw+1;
  end;
  if bd.pol='m' then
  begin
   sm:=sm+k;
   km:=km+1;
  end;
  if kw=0 then
          writeln('Net women')
  else writeln('Srednya zarplata=',sw/kw);
  readln;
  end;
3:writeln('Poisk');
4:Exit;
else
  writeln('Net takogo punkta');
end;
end;
readln;
end.

Последний раз редактировалось Stilet; 04.05.2013 в 11:34.
Катя100 вне форума Ответить с цитированием
Старый 04.05.2013, 11:40   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
function Aver(sex:char):double;
var ave:double;i:integer;b:baza;
begin
 i:=0; ave:=0;
 reset(f);
 while not eof do begin
  read(f,b);
  if b.pol=sex then begin inc(i); ave:=ave+b.zarp;
 end;
 if i>0 then aver:=ave/i else aver:=0;
end;
Использовать так:
Код:
 write(
  'Средняя мужыкоффф: ',Aver(f,'m'):10:5,' ',
  'Средняя герлоff',Aver(f,'w'):10:5,
 );
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рассчитать количество мужчин и женщин Кристинка89 SQL, базы данных 20 11.04.2012 11:13
Превосходство женщин? docbrain Свободное общение 9 04.05.2010 14:40
Составить программу, определяющая среднюю зарплату DiMoNnnnnnnnn Паскаль, Turbo Pascal, PascalABC.NET 2 25.04.2009 07:51
Посчитать среднюю оценку. Паскаль. Паскалька^^ Помощь студентам 2 20.12.2008 20:14