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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2008, 20:15   #1
Sashko
Пользователь
 
Аватар для Sashko
 
Регистрация: 20.11.2008
Сообщений: 12
По умолчанию Помогите пожалуйста с расчетами ....

Всем добдрого времени суток
Вообшем есть такая проблема - написал прогу , она должна подсчитывать за сколько времени наберетса н-количество ресурсов (это я для одной игры хочу написать прогу) Тоесто там такая система : Сначала мы вводим сколько ресурсов мы делаем за 1 час . потом сколько у нас есть этого ресурса , а потом сколько нам надо ... и прога должна подсчитать за сколько времени ( я хочу сделать часы:минуты ) мы сможем иметь заданое количество ресурса .... но я чето немогу додуматса как так зделать , чтобы точно показывало сколько надо часов : минут .Вот моя прога , которую надо отредактировать :

[deleted]

Очень прошу , помогите !!! Ато уже неделю сижу и хз как нормально ее зделать . чтобы нормально показывала чч:мм ......
Заранее благодарен .

Последний раз редактировалось Sashko; 21.11.2008 в 14:33.
Sashko вне форума Ответить с цитированием
Старый 21.11.2008, 00:00   #2
lexus_ilia
Студентик :)
Пользователь
 
Аватар для lexus_ilia
 
Регистрация: 29.09.2008
Сообщений: 84
По умолчанию

Для точности использовал тип real...
Код:
program Resourse_Calculator;
uses
 crt;
var
 m:integer;
 x,y,z,b:real;
begin
 clrscr; 
 writeln ('CKoLbKo PeCyPCoB 3a 1 4aC');
 read (x);
 writeln ('CkOLbKo Ceu4aC');
 read (y);
 writeln ('CkoLbKo Hy}l{Ho');
 read (z);
 b:=x/3600; {B ceKyHDy PecyPCoB}
 b:=(z-y)/b; {CKoLbKo HyjHo CeKyHd}
 b:=b/60; {nepBeDeM B MuHyTbl}
 m:=0;
 while b>=60 do
 begin
  inc(m);
  b:=b-60;
 end;
 Writeln('4tobbl noLy4uTb ' ,z:6:0, ' PeCyPCoB Bam Hy}l{Ho ' ,m, ':' ,b:2:0);
 Write('(4aCoB:MuhyT)');
 readkey;
end.
lexus_ilia вне форума Ответить с цитированием
Старый 21.11.2008, 12:06   #3
Sashko
Пользователь
 
Аватар для Sashko
 
Регистрация: 20.11.2008
Сообщений: 12
По умолчанию

Да ты гений Огромное тебе спасибо !
Sashko вне форума Ответить с цитированием
Старый 21.11.2008, 13:04   #4
lexus_ilia
Студентик :)
Пользователь
 
Аватар для lexus_ilia
 
Регистрация: 29.09.2008
Сообщений: 84
По умолчанию

Единственное что я не учёл, так это переход от 24 часам к 1-му дню, если тебе это надо то можно сделать...
lexus_ilia вне форума Ответить с цитированием
Старый 21.11.2008, 14:04   #5
Sashko
Пользователь
 
Аватар для Sashko
 
Регистрация: 20.11.2008
Сообщений: 12
По умолчанию

Цитата:
Сообщение от lexus_ilia Посмотреть сообщение
Единственное что я не учёл, так это переход от 24 часам к 1-му дню, если тебе это надо то можно сделать...
давай , если не трудно конешно

Заранее пасиб !


Кстати , что это за такая интересная строчка : " inc(m) " .Что за "inc" ? Это как бы including ( этот типа включно) ?

Последний раз редактировалось Sashko; 21.11.2008 в 16:36.
Sashko вне форума Ответить с цитированием
Старый 21.11.2008, 14:20   #6
Ламер_001
Ну и что? :)
Форумчанин
 
Регистрация: 20.10.2008
Сообщений: 129
По умолчанию

инкремент, т.е. увеличение на 1
Учиться, учиться и еще раз учиться
Ламер_001 вне форума Ответить с цитированием
Старый 21.11.2008, 19:22   #7
sverhuVniz
Пользователь
 
Аватар для sverhuVniz
 
Регистрация: 24.10.2008
Сообщений: 32
По умолчанию

вставь это перед выводом
...
if b>= 24 then begin
while b>=24 do
begin
b:=b-24;
k:=k+1;{k это кол-во суток}
end;
end;
...

выводишь теперь и число K
___________________________________ ____________
ВОН ВЫГНАТЬ ПРОКЛЯТЫХ СПАММЕРОВ!
sverhuVniz вне форума Ответить с цитированием
Старый 21.11.2008, 19:23   #8
sverhuVniz
Пользователь
 
Аватар для sverhuVniz
 
Регистрация: 24.10.2008
Сообщений: 32
По умолчанию

хотя можно и без if
___________________________________ ____________
ВОН ВЫГНАТЬ ПРОКЛЯТЫХ СПАММЕРОВ!
sverhuVniz вне форума Ответить с цитированием
Старый 21.11.2008, 21:16   #9
Sashko
Пользователь
 
Аватар для Sashko
 
Регистрация: 20.11.2008
Сообщений: 12
По умолчанию

Цитата:
Сообщение от sverhuVniz Посмотреть сообщение
вставь это перед выводом
...
if b>= 24 then begin
while b>=24 do
begin
b:=b-24;
k:=k+1;{k это кол-во суток}
end;
end;
...

выводишь теперь и число K
Это походу не верно :
например если у меня вийдет 176 часов , то когда исполнитса этот цыкл покажет : 1 сутка и 152 часа ...
Sashko вне форума Ответить с цитированием
Старый 21.11.2008, 21:45   #10
sverhuVniz
Пользователь
 
Аватар для sverhuVniz
 
Регистрация: 24.10.2008
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Sashko Посмотреть сообщение
Это походу не верно :
например если у меня вийдет 176 часов , то когда исполнитса этот цыкл покажет : 1 сутка и 152 часа ...

всё верно


часы будут уменьшаться (на 24*кол суток) если есть целые сутки
___________________________________ ____________
ВОН ВЫГНАТЬ ПРОКЛЯТЫХ СПАММЕРОВ!

Последний раз редактировалось sverhuVniz; 21.11.2008 в 21:46. Причина: ошибка
sverhuVniz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с расчетами в Excel Eugene*** Microsoft Office Excel 1 19.11.2008 22:08
пожалуйста помогите( crazy_klara Помощь студентам 1 14.11.2008 10:56
Помогите Помогите Пожалуйста Решить Одну Задачку в Паскале!!! VisTBacK Помощь студентам 6 19.09.2008 13:44