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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2014, 16:36   #1
Руслан56
Пользователь
 
Регистрация: 07.10.2013
Сообщений: 30
По умолчанию Почему не подсчитывает программа?

Почему в процедуре подсчет результат заполняется нулями?
Код:
program pro1;
uses ob,obrabotki;
var sd:product;
begin
vvod(sd);
vivod(sd);
podschet(sd);
end.
Код:
unit obrabotki;
interface
uses ob;
procedure vvod(var sd:product);
procedure vivod(var sd:product);
procedure podschet(var sd:product);
implementation

procedure vvod(var Sd:product);
var i:integer;
begin
     for i:=1 to maxk do
     begin
     Sd[i].name:=(i);
     Sd[i].kol:=random(6) + 5;
     Sd[i].Sebest:= random(500)+100;
     Sd[i].cena:=Sd[i].sebest+random(100);
     Sd[i].work:=random(5)+5;
     end;
end;


procedure vivod(var Sd:product);
var i:integer;
begin
writeln('--------------------------------------------');
writeln('|','Товар':5,'|','Eдиницы':5,'|','Себестоимость':10,'|','Цена':5,'|','Рабочие':8,'|','Доход':5,'|','Производительность','|');
writeln('--------------------------------------------');
for i:=1 to maxk do writeln('|',sd[i].name:4, '', sd[i].kol:6, '      ', sd[i].sebest, '           ', sd[i].cena, '      ', sd[i].work,'  |' ,sd[i].proiz);
writeln('--------------------------------------------');

end;
procedure podschet(var sd:product);
var i:integer;
begin
for i:=1 to maxk do begin
sd[i].dohod:=sd[i].kol * sd[i].cena;
sd[i].proiz:=sd[i].dohod / sd[i].work;
end;
end;

end.
Код:
unit ob;
interface
const maxk=20;
type
tovar = record
name : integer;
kol  : integer;
sebest:real;
cena :real;
work :integer;
dohod:real;
proiz:real;
end;


type
 product = array[1..maxk] of tovar;
 implementation
 end.
Паскаль
Руслан56 вне форума Ответить с цитированием
Старый 25.02.2014, 17:08   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вместо
Цитата:
vivod(sd);podschet(sd);
пиши
Код:
podschet(sd);vivod(sd);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.02.2014, 17:12   #3
Руслан56
Пользователь
 
Регистрация: 07.10.2013
Сообщений: 30
По умолчанию

Спасибо, понял

Последний раз редактировалось Руслан56; 25.02.2014 в 17:19.
Руслан56 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal. нужно написать программу,которая подсчитывает величину информационной энтропии Ирка555 Помощь студентам 3 20.03.2013 09:36
Программа,которая подсчитывает частоты bestnicer Помощь студентам 1 29.05.2012 11:12
Программа, которая для вводимого текста (строки) подсчитывает количество слов, разделенных пробелами yuyuli Помощь студентам 2 18.04.2012 08:15
Програма неправильно подсчитывает количество балов helena91 Общие вопросы Delphi 2 27.01.2011 10:54
программа которая подсчитывает количество пустых строк в файле Вадим ы Помощь студентам 3 21.08.2010 08:32