Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/43: Рейтинг темы: голосов - 43, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 09.11.2011
Сообщений: 5

Подсчет прожитых дней

09.11.2011, 07:09. Показов 9059. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста написать программу, которая считает сколько ты прожил дней. Написать надо по простому, циклами, а то не поверят, что я писал. В инете искал, там есть, но то сложно написанное, то неправильно считает. Помогите!)

Добавлено через 3 минуты
либо вот это надо как-то исправить, сколько я не пытался не смог - не правильно считает...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
program laba4;
 
var k,bday,bmonth,dday,dmonth:byte;
byear,dyear,s,raznost,i:integer;
begin
//Ввод дат
write('Введите текущую дату в формате дд мм гггг: ');
readln(dday,dmonth,dyear);
write('Введите дату рождения в формате дд мм гггг: ');
readln(bday,bmonth,byear);
//Расчет
Case bmonth of
1,3,5,7,8,10,12: k:=31;
4,6,9,11: k:=30;
2:if byear mod 4=0 then
k:=29
else k:=28 end;
 
for i:=bday to k do
s:=s+1;
for i:=bmonth+1 to 12 do
Case i of
1,3,5,7,8,10,12: s:=s+31;
4,6,9,11: s:=s+30;
2:begin
if byear mod 4=0 then s:=s+29
else s:=s+28
end;
end;
 
raznost:=dyear-byear;
if raznost>1 then
for i:=byear+1 to dyear-1 do
if i mod 4=0 then s:=s+366
else s:=s+365;
for i:=1 to dmonth-1 do
Case i of
1,3,5,7,8,10,12: s:=s+31;
2: begin
if dyear mod 4=0 then s:=s+29
else s:=s+28;
end;
4,6,9,11: s:=s+30;end;
s:=s+dday;
writeln('Количество прожитых дней: ',s,'(включая сегодняшний)');
end.
например с 5.10.1995 до 9.11.2011 должно быть 5879 прожитых дней, а результат не такой, ошибка в нескольких днях только.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.11.2011, 07:09
Ответы с готовыми решениями:

Количество прожитых дней
Условие такое: вычислить количество дней между днем рожденья и 01.01.2010 года. Испытываю трудности с решением =(

Цикл с предусловием. Подсчет дней
Ивана Александровича Хлестакова пригласили управлять департаментом. В первый день ему прислали 1000 курьеров, а в каждый последующий...

Определить примерное число прожитых человеком дней
Вычислите и выведите на экран примерное число прожитых человеком дней (без учѐта високосных лет) , если в году 365 дней, а год...

7
1 / 1 / 1
Регистрация: 09.11.2011
Сообщений: 6
09.11.2011, 07:13
Код еще не смотрел, но:
Может из-за того что программа не учитывает високосные\не високосные года
0
0 / 0 / 0
Регистрация: 09.11.2011
Сообщений: 5
09.11.2011, 07:22  [ТС]
там вроде написано что-то про деление на 4, хотя я не знаю, исправь если не сложно пожалуйста.
0
1 / 1 / 1
Регистрация: 09.11.2011
Сообщений: 6
09.11.2011, 07:47
Проверил, все правильно считает. Там же написано с учетом сегодняшнего дня.

например с 5.10.1995 до 9.11.2011 должно быть 5879 прожитых дней
Вот а он выводит 5880. Все нормально считает.
0
0 / 0 / 0
Регистрация: 09.11.2011
Сообщений: 5
09.11.2011, 08:23  [ТС]
я когда проверяю программу пишет что-то вроде "s" does not seen initialized, можешь сказать что надо исправить
0
1 / 1 / 1
Регистрация: 09.11.2011
Сообщений: 6
09.11.2011, 08:40
После begin напиши s:=0;
0
0 / 0 / 0
Регистрация: 09.11.2011
Сообщений: 5
18.11.2011, 18:10  [ТС]
Спасайте, теперь надо добавить к насписанной программе, программу для биоритмов, чтобы подсчитало огда будет ближайший благоприятный и не благоприятный день.
вот программа прожитых дней.
program laba4;

var k,bday,bmonth,dday,dmonth:byte;
byear,dyear,s,vozrast,raznost,i:integer;
begin
write('Введите текущую дату в формате дд мм гггг: ');
readln(dday,dmonth,dyear);
write('Введите дату рождения в формате дд мм гггг: ');
readln(bday,bmonth,byear);
s:=0;
Case bmonth of
1,3,5,7,8,10,12: k:=31;
4,6,9,11: k:=30;
2:if byear mod 4=0 then
k:=29
else k:=28 end;

for i:=bday to k do
s:=s+1;

for i:=bmonth+1 to 12 do
Case i of
1,3,5,7,8,10,12: s:=s+31;
4,6,9,11: s:=s+30;
2:begin
if byear mod 4=0 then s:=s+29
else s:=s+28
end;
end;

raznost:=dyear-byear;
if raznost>1 then
for i:=byear+1 to dyear-1 do
if i mod 4=0 then s:=s+366
else s:=s+365;
for i:=1 to dmonth-1 do
Case i of
1,3,5,7,8,10,12: s:=s+31;
2: begin
if dyear mod 4=0 then s:=s+29
else s:=s+28;
end;
4,6,9,11: s:=s+30;end;
s:=s+dday;
if raznost=0 then begin vozrast:=0;S:=s-365;end else
if (S div raznost<365) then
vozrast:=raznost-1 else vozrast:=raznost;
writeln('Количество прожитых дней: ',S,'(включая сегодняшний)');
writeln('Возраст: ',vozrast);
end.
0
0 / 0 / 0
Регистрация: 09.11.2011
Сообщений: 5
21.11.2011, 13:22  [ТС]
Помогите пожалуйста...

Добавлено через 1 минуту
впринципи есть программа, вот она:
begin
var goodFlast, goodFsled, badFlast, badFsled, goodElast, goodEsled, badElast, badEsled:real;
if (goodFlast>0) then
begin
goodFlast:=summa-23.6884*(round(summa/23.6884))-(23.6884/4); goodFsled:=goodFsled+goodFlast+23.6884;
end
else
begin
goodFlast:=abs(summa-23.6884*(round(summa/23.6884))-(23.6884/4)); goodFsled:=goodFsled+goodFlast;
end;
if (badFlast>0) then
begin
badFlast:=summa-23.6884*(round(summa/23.6884))-(3*23.6884/4); badFsled:=badFsled+badFlast+23.6884;
end
else
begin
badFlast:=abs(summa-23.6884*(round(summa/23.6884))-(3*23.6884/4)); badFsled:=badFsled+badFlast;
end;

if (goodElast>0) then
begin
goodElast:=summa-28.4261*(round(summa/28.4261))-(28.4261/4); goodEsled:=goodEsled+goodElast+28.4261;
end
else
begin
goodElast:=abs(summa-28.4261*(round(summa/28.4261))-(28.4261/4)); goodEsled:=goodEsled+goodElast;
end;
if (badElast>0) then
begin
badElast:=summa-28.4261*(round(summa/28.4261))-(3*28.4261/4); badEsled:=badEsled+badElast+28.4261;
end
else
begin
badElast:=abs(summa-28.4261*(round(summa/28.4261))-(3*28.4261/4)); badEsled:=badEsled+badElast;
end;

if (goodIlast>0) then
begin
goodIlast:=summa-32.1638*(round(summa/32.1638))-(32.1638/4); goodIsled:=goodIsled+goodIlast+32.1638;
end
else
begin
goodIlast:=abs(summa-32.1638*(round(summa/32.1638))-(32.1638/4)); goodIsled:=goodIsled+goodIlast;
end;
if (badIlast>0) then
begin
badIlast:=summa-32.1638*(round(summa/32.1638))-(3*32.1638/4); badIsled:=badIsled+badIlast+32.1638;
end
else
begin
badIlast:=abs(summa-32.1638*(round(summa/32.1638))-(3*32.1638/4)); badIsled:=badIsled+badIlast;
end;
while ((round(goodFsled+2)>round(goodEsled)) and ((round(goodFsled-2)<round(goodEsled)) and (round(goodFsled+2)>round(goodIsled))) and (round(goodFsled-2)<round(goodIsled))) do
begin
goodFsled:=goodFsled+23.6884; badFsled:=badFsled+23.6884;
goodEsled:=goodEsled+28.4261; badEsled:=badEsled+28.4261;
goodIsled:=goodIsled+32.1638; badIsled:=badIsled+32.1638;
end;
writeln('=============================== =============================');
writeln('Ваш самый благоприятный будет через дней ',round(goodFsled));
writeln('------------------------------------------------------------');
writeln('Ваш самый не благоприятный будет через дней ',round(badFsled));
writeln('=============================== =============================');
writeln('Ваш самый благоприятный E будет через дней ',round(goodEsled));
writeln('------------------------------------------------------------');
writeln('Ваш самый не благоприятный день E будет через дней ',round(badEsled));
writeln('=============================== =============================');
writeln('Ваш самый благоприятный I будет через дней ',round(goodIsled));
writeln('------------------------------------------------------------');
writeln('Ваш самый не благоприятный день I будет через дней ',round(badIsled));
end.
вот ее надо как-то соединить с той, переписать всякие там значения, чтобы все выводило, спасайте пожалуйста...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.11.2011, 13:22
Помогаю со студенческими работами здесь

Подсчет количества дней от начала века до введенной даты
Написать прогу. посчитайте количество дней от начала века до введенной даты

Подсчет прожитых дней
Код будет о4ень банальный, без функций и циклов, ибо первый опыт. Взят из рандомной книжки в ка4естве упражнения. Программа должна...

Количество прожитых дней
Делаю вот так: #include &lt;iostream&gt; using namespace std; int main () { setlocale(LC_ALL, &quot;Russian&quot;); int...

количество прожитых дней
помогите пжл составить прогу.по количеству прожитых дней в basic. на форме 3техтбох (2для ввода дат,1 для вывода результ).2кнопки расчет и...

Определить количество прожитых дней
Есть код для Visual Basik 6.0, а надо для 2010 года. Помогите пожалуйста. Option Explicit On Public Class Form1 Dim dtmDate1 As...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru