Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 04.12.2014
Сообщений: 142
1

Класс Дата

25.11.2018, 17:36. Показов 1113. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Функция diff в классе Data выводит 0 а не нужное число. Мне нужно что бы все было так как у меня, то есть в отдельных функциях.
Если писать не как класс все работает. Если писать все в одной функции внутри класса тоже все работает. Код взят с одной из тем на форуме.
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <ctime>
 
using namespace std;
 
class Date
{
    const int oneday = 0x15180;
    int day1, mon1, year1;
    int day2, mon2, year2;
public:
    void FirstDay()
    {
        cout << "Введите первую дату:\n\tВведите число: ";
        cin >> day1;
        cout << "\tВведите месяц: ";
        cin >> mon1;
        cout << "\tВведите год: ";
        cin >> year1;
    }
    void SecondDay()
    {
        cout << "Введите вторую дату:\n\tВведите число: ";
        cin >> day2;
        cout << "\tВведите месяц: ";
        cin >> mon2;
        cout << "\tВведите год: ";
        cin >> year2;
    }
    void diff()
    {
        tm FirstDate = { 0, 0, 0, day1, mon1 - 1, year1 - 0x76C, 0, 0, 0 };
        tm SecondDate = { 0, 0, 0, day2, mon2 - 1, year2 - 0x76C, 0, 0, 0 };
        time_t t1 = mktime(&FirstDate);
        time_t t2 = mktime(&SecondDate);
        time_t diff = ((t1 > t2) ? t1 - t2 : t2 - t1) / oneday;
        cout << "\nДней между датами: " << diff << '\n';
    }
};
 
int main()
{
    // локализация консоли
    setlocale(LC_CTYPE, "russian");
    Date a, b, c;
    a.FirstDay();
    b.SecondDay();
    c.diff();
    cout << endl;
    // пауза
    cin.get();
    cin.get();
    return 0;
}
Миниатюры
Класс Дата  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2018, 17:36
Ответы с готовыми решениями:

класс дата
Создать класс типа - дата с полями: день (1-31), месяц (1-12), год(целое число).Класс имеет...

Дата класс
Перешарила интернет. Помогите описать Класс даты,чтобы работало+вычисляла новые даты путем...

Создать класс Дата
Нужно создать класс date, задать день, месяц и год, создать конструктор. Перегрузить операторы...

Описать класс Дата
Описать класс «Дата» - день, месяц (в виде числа), год. Предусмотреть возможность задания месяца в...

2
0 / 0 / 1
Регистрация: 04.12.2014
Сообщений: 142
25.11.2018, 18:03  [ТС] 2
И еще. Как лучше сделать проверку ввода и проверку с февралем?
0
4 / 4 / 0
Регистрация: 10.11.2018
Сообщений: 25
25.11.2018, 18:17 3
Исправь на
C++
1
2
3
4
 Date a;
    a.FirstDay();
    a.SecondDay();
    a.diff();
0
25.11.2018, 18:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2018, 18:17
Помогаю со студенческими работами здесь

Создать класс Дата
Добрый день:) Ребята помогите пожалуйста исправить ошибки. Задание звучит так: &quot;Оглашается класс...

Класс Date (Дата)
Определить класс Date (Дата). Класс должен содержать поля: день, месяц и год. Предусмотреть...

Разработать класс Дата
Разработать программу для работы с датами, используя понятие класса. По введенной дате определите...

ООП. Определить класс Дата
Определить класс Дата (Date), в котором производится ввод календарной даты, определение...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru