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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2015, 16:03   #1
ЕкатеринаТ
Новичок
Джуниор
 
Регистрация: 08.05.2015
Сообщений: 2
По умолчанию ошибка"нет перегруженной программы"

Код:
var
 sotrudn:array[1..10] of anketa;
i:integer;
base:file of anketa;
procedure stag_rabot;
var
stroka1:string;
     st_rab,st:integer;
begin
     stroka1:=copy(sotrudn[i].RD.date_nach_rab,7,4);
     val(stroka1,st);
     st_rab:=2012-st;
     sotrudn[i].RD.stag:=st_rab;
end;

procedure zar_pl;
     var dol_sotr:string[10];
begin
     dol_sotr:=sotrudn[i].RD.dolgnost;
     if dol_sotr='директор' then
     sotrudn[i].RD.zar_plata:=20000*(1+0.05*sotrudn[i].RD.stag);
     if dol_sotr='заместитель' then
     sotrudn[i].RD.zar_plata:=40000*(1+0.05*sotrudn[i].RD.stag);
     if dol_sotr='учитель' then
     sotrudn[i].RD.zar_plata:=10000*(1+0.05*sotrudn[i].RD.stag);
end;
begin
clrscr;
writeln('Введите данные о сотрудниках.');
writeln;
for i:=1 to 10 do begin
with sotrudn[i] do
begin
      Writeln('Введите фамилию сотрудника.');
      readln(LD.fam);
      Writeln('Укажите должность сотрудника');
      readln(RD.dolgnost);
      Writeln('Укажите дату поступления сотрудника на службу в формате "дд.мм.гг.');
      readln(RD.date_nach_rab);
stag_rabot;
      writeln ('Стаж работы сотрудника ',RD.stag,' лет.');
zar_pl;
      writeln ('Заработная плата сотрудника-',RD.zar_plata:5:0);
end;
assign(base, 'D:\base_of_data.dat');
rewrite(base);
write(base, sotrudn[i]);
close (base);
end;
end.
Помогите определить почему выдает на выделенной строке ошибку нет перегруженной подпрограммы с таким количеством параметров. Я так понимаю что я что-то не описала?


_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 08.05.2015 в 16:20.
ЕкатеринаТ вне форума Ответить с цитированием
Старый 08.05.2015, 16:18   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а вы откройте справочку (или интернет) и прочитайте описание процедуры VAL()

(там должно быть ТРИ параметра:
- строка,
- переменная_куда_преобразовываем,
- переменная_код_ошибки_преобразовани я
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.05.2015, 17:52   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Именно так. Решается это просто:
Код:
procedure stag_rabot;
var
stroka1:string;
     st_rab,st,err:integer;
begin
     stroka1:=copy(sotrudn[i].RD.date_nach_rab,7,4);
     val(stroka1,st,err);
     if err<>0 then write('Кораллоул!!! Котострофие!!! В числе ',stroka1,' ',err,'-й символ портит картину!');
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.05.2015, 14:04   #4
ЕкатеринаТ
Новичок
Джуниор
 
Регистрация: 08.05.2015
Сообщений: 2
По умолчанию

ООО спасибки вам большое!!! все пошло)))
ЕкатеринаТ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" Alexsandrr Microsoft Office Excel 4 19.10.2013 14:22
Ошибка "too many consecutive exceptions" при работе программы: как найти? DimychX Общие вопросы Delphi 11 22.06.2011 21:02
если >30 тогда "да" иначе "нет"... DBgrid Daur БД в Delphi 4 30.05.2010 16:54
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
Нет в русском языке "ложит", есть - "кладет". mihali4 Свободное общение 25 01.04.2008 11:19