Форум программистов, компьютерный форум CyberForum.ru

Количество прожитых человеком дней - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
DenProx
Техник
 Аватар для DenProx
306 / 164 / 4
Регистрация: 09.10.2009
Сообщений: 3,009
18.01.2012, 09:30     Количество прожитых человеком дней #1
Доброго времени суток. Помогите пожалуйста решить такую задачку:

Определить количество прожитых человеком дней по дате рождения и текущей дате. Вводится дата рождения в виде: число, месяц, год и текущая дата в том же виде. В современном календаре високосным является год, делящийся без остатка на 4, за исключением года, кратного 100, среди которых високосными являются те, которые кратны 400.

Буду очень благодарен за помощь!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
18.01.2012, 11:54     Количество прожитых человеком дней #2
Цитата Сообщение от DenProx Посмотреть сообщение
Доброго времени суток. Помогите пожалуйста решить такую задачку:
Определить количество прожитых человеком дней по дате рождения и текущей дате. Вводится дата рождения в виде: число, месяц, год и текущая дата в том же виде. В современном календаре високосным является год, делящийся без остатка на 4, за исключением года, кратного 100, среди которых високосными являются те, которые кратны 400.
Буду очень благодарен за помощь!
- посмотри сюда
Класс "Историческое событие"
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
18.01.2012, 12:59     Количество прожитых человеком дней #3
C++
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
#include <iostream>
#include <string>
#include <vector>
#include "boost/date_time/gregorian/gregorian.hpp"
 
class People {
private:
   boost::gregorian::date date;
   std::string name;
public:
   People (const boost::gregorian::date& dt, const std::string& nm) : date(dt), name(nm) {};
   const std::string get_name() const { return name; }
   friend boost::gregorian::date_duration operator- (const boost::gregorian::date dt, People p); 
   const boost::gregorian::date get_date() const { return date; }  
};
 
boost::gregorian::date_duration operator- (const boost::gregorian::date dt, People p)
   {
     return  dt - p.get_date();
   }
 
int main ()
{
   std::vector<People> people = {
    People (boost::gregorian::date(1992, 9, 9), "Ivanov"),
    People (boost::gregorian::date(1992, 9, 10), "Petrov"),
    People (boost::gregorian::date(1992, 9, 11), "Sidorov") 
                                };
    boost::gregorian::date date (2012, 1, 18);
    
    std::cout << people[0].get_name()  << std::endl
              << date - people[0]      << std::endl;
    std::cout << people[1].get_name()  << std::endl
              << date - people[1]      << std::endl;
                        
    return 0;
}
http://liveworkspace.org/code/2fd683...979a54a5ad7684
Еще можно доработать вывод, но я поленился, да и времени нет
DenProx
Техник
 Аватар для DenProx
306 / 164 / 4
Регистрация: 09.10.2009
Сообщений: 3,009
18.01.2012, 13:27  [ТС]     Количество прожитых человеком дней #4
Спасибо!)) Думаю с выводом не будет проблем))
Jetme
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 6
15.12.2015, 23:39     Количество прожитых человеком дней #5
У меня вот такая задача.
аписать программу, которая просит пользователя ввести с клавиатуры дату его рождения и текущую дату.
Для каждой отдельно: день, месяц, год.
Далее, программа проверяет эту дату на корректность и либо выдает пользователю сообщение о некорректном вводе,
либо, если пользователь ввел все правильно, выдает ему сообщение о том, какой по счету день он живет на свете.
Сообщение о некорректности должно быть конкретным. Например, "вы неверно ввели месяц для текущей даты".


Как и где должно выводиться, что данные не правильные?
#include <iostream>
using namespace std;

int main()
{
int a = 0, b = 0, c = 0, e = 0;
int d = 0;
int f = 0;

cout << "Vvedite den rozdenia:_";
cin >> a;
cout << "Vvedite mesyac rozdenia:_";
cin >> b;
cout << "Vvedite god rozdenia:_";
cin >> c;
cout << "Vvedite tekychi god:_";
cin >> d;
cout << "Vam let_";
e = d - c;
cout << e << "\n";
cout << "Kolichestvo dney:";
f = e * 365 + 126;
cout << f << "\n";
return 0;
Yandex
Объявления
15.12.2015, 23:39     Количество прожитых человеком дней
Ответ Создать тему
Опции темы

Текущее время: 18:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru