С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для BaLahmuT
88 / 32 / 16
Регистрация: 01.06.2019
Сообщений: 672

Как мне задать дату вручную?

04.02.2020, 21:46. Показов 2381. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть два класса Date and Passoprt, Date наследует Passport, как мне в классе Date задать дату вручную, не через main?
Кликните здесь для просмотра всего текста
Date.h
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
#pragma once
#include<iostream>
#include<ctime>
using namespace std;
 
class Date
{
public: 
    int day;
    int month;
    int year;
 
public:
    Date();
    Date(int day, int month, int year);
    ~Date();
    
    void setday();
    int getday();
    int getmonth();
    int getyear();
    
    friend ostream& operator<<(ostream& out, Date& obj);
 
};
Date.cpp
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
#include "Date.h"
 
Date::Date()
{
    time_t t = time(NULL);
    tm tick;
    localtime_s(&tick, &t); ///  я так понимаю задается вручную отсюда
 
    this->day = tick.tm_mday;
    this->month = tick.tm_mon + 1;
    this->year = tick.tm_year + 1900;
}
 
Date::Date(int day, int month, int year)
{
    this->day = day;
    this->month = month;
    this->year = year;
}
 
Date::~Date() {}
 
void Date::setday()
{
    this->day = day;
}
 
int Date::getday()
{
    return day;
}
 
int Date::getmonth()
{
    return month;
}
 
int Date::getyear()
{
    return year;
}
 
ostream& operator<<(ostream& out, Date& obj)
{
    // TODO: вставьте здесь оператор return
    out << obj.day / 10 << obj.day % 10 << "-" 
        << obj.month / 10 << obj.month % 10 << "-"
        << obj.year;
    return out;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.02.2020, 21:46
Ответы с готовыми решениями:

UnixPosix, не ври мне! (неправильный подсчет времени вручную)
Проблема следующая - реализовал я нуля перевод из posix в человечную дату. А тут проблема появилась: ввожу 54588753952 в свою программу,...

где можно преобразовать дату(строку), которая приходит из input, в дату(число), чтобы дату задать в setFullYear
const FirstPage = (props) =&gt; { const = useState(''); const = useState(''); const = useState(''); const...

Как вручную задать путь к файлам?
Как задать путь вручную через CMD? и какая команда для вывода даты создания файла? @echo off setlocal enabledelayedexpansion set...

16
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
04.02.2020, 22:01
Цитата Сообщение от Rudman132 Посмотреть сообщение
У меня есть два класса Date and Passoprt, Date наследует Passport, как мне в классе Date задать дату вручную, не через main?
Вручную - это как?
0
 Аватар для BaLahmuT
88 / 32 / 16
Регистрация: 01.06.2019
Сообщений: 672
04.02.2020, 22:08  [ТС]
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Вручную - это как?
Ну... сейчас мне выдает этот код одну дату, текущую(04.02.2020) как мне задать допустим (25.05.2001)
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
04.02.2020, 22:15
Цитата Сообщение от Rudman132 Посмотреть сообщение
Ну... сейчас мне выдает этот код одну дату, текущую(04.02.2020) как мне задать допустим (25.05.2001)
C++
1
2
3
4
5
6
Date::Date()
{
    this->day = 25;
    this->month = 5;
    this->year = 2001;
}
Добавлено через 3 минуты
Это конструктор по-умолчанию. Для класса "Дата" в нём лучше задавать "нулевую" дату, например 25.05.2001. А текущую брать из статического метода Now()
1
 Аватар для BaLahmuT
88 / 32 / 16
Регистрация: 01.06.2019
Сообщений: 672
04.02.2020, 22:16  [ТС]
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Date:ate()
{
    this->day = 25;
    this->month = 5;
    this->year = 2001;
}
Вот...то что надо, а как мне теперь в этом же классе задать еще одну дату
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
04.02.2020, 22:17
Цитата Сообщение от Rudman132 Посмотреть сообщение
Вот...то что надо, а как мне теперь в этом же классе задать еще одну дату
В смысле?
0
 Аватар для BaLahmuT
88 / 32 / 16
Регистрация: 01.06.2019
Сообщений: 672
04.02.2020, 22:18  [ТС]
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
В смысле?
Мне нужно 2 даты: одна это дата рождения, а вторая дата выдачи паспорта
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
04.02.2020, 22:22
Цитата Сообщение от Rudman132 Посмотреть сообщение
Мне нужно 2 даты: одна это дата рождения, а вторая дата выдачи паспорта
Здесь это задавать не нужно. Где ты используешь эти даты, там и задавай
C++
1
2
Date birthdate(25, 5, 2001);
Date passport_date(25, 05, 2015);
0
 Аватар для BaLahmuT
88 / 32 / 16
Регистрация: 01.06.2019
Сообщений: 672
04.02.2020, 22:27  [ТС]
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Date birthdate(25, 5, 2001);
Date passport_date(25, 05, 2015);
Это в мейне или в конструкторе?
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
04.02.2020, 22:28
Цитата Сообщение от Rudman132 Посмотреть сообщение
Это в мейне или в конструкторе?
В main
0
 Аватар для BaLahmuT
88 / 32 / 16
Регистрация: 01.06.2019
Сообщений: 672
04.02.2020, 22:30  [ТС]
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
В main
Так main выглядит вот так
C++
1
2
3
4
5
6
7
int main()
{
    Passport user();
    cout << user << endl;
 
    system("pause");
}
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
04.02.2020, 22:32
Цитата Сообщение от Rudman132 Посмотреть сообщение
Так main выглядит вот так
А класс Passport как выглядит? Подозреваю, в нём и надо задавать эти даты.
0
 Аватар для BaLahmuT
88 / 32 / 16
Регистрация: 01.06.2019
Сообщений: 672
04.02.2020, 22:33  [ТС]
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
класс Passport
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
#pragma once
#include <iostream>
#include <string>
#include"Date.h"
using namespace std;
 
class Passport
{
private:
    string Patronymic;
protected:
    string Name;
    string Surname;
    string Сity_birth;
    Date birth;  //дата рождения 
    string Issued_by;
    Date date_issue; //дата выдачи
    string series;
    int number;
 
public:
    Passport();
    Passport(string Name, string Patronymic, string Surname, string City_birth, string Issued_by, string series, int number);
    ~Passport();
 
    //void setName(string Name);
    //void setSurname(string Surname);
 
    string getName();
    string getSurname();
    string getPatronymic();
    string getCity_birth();
    string getIssued_by();
    string getseries();
    int getnumber();
 
    friend ostream& operator<<(ostream& out, Passport& obj);
};
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
04.02.2020, 22:38
Во-первых, что означает Passport user() - ничей паспорт? Какие дни рождения ты там собрался указывать?

Добавлено через 1 минуту
Надо тогда уж вызывать Passport user("Иван", "Иваныч" .....................)
0
 Аватар для BaLahmuT
88 / 32 / 16
Регистрация: 01.06.2019
Сообщений: 672
04.02.2020, 22:40  [ТС]
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Какие дни рождения ты там собрался указывать?
это все прописано в конструкторе
C++
1
2
3
4
5
6
7
8
9
10
Passport::Passport()
{
    Surname = "Rudman";
    Name = "Artem";
    Patronymic = "Ivanovich";
    Сity_birth = "Sicily";
    Issued_by = "Migration Service";
    series = "IO-07";
    number = 691152;
}
А там если захочу смогу поменять
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
04.02.2020, 22:50
Лучший ответ Сообщение было отмечено Rudman132 как решение

Решение

По-уму, надо бы добавить в этот конструктор ещё и дату рождения и дату выдачи паспорта. Но, слишком дохрена параметров, поэтому просто добавь методы
C++
1
2
3
4
5
6
7
8
9
10
11
public:
    Passport();
    Passport(string Name, string Patronymic, string Surname, string City_birth, string Issued_by, string series, int number);
    ~Passport();
 
    void SetBurhtDate(int day, int month, int year)
    {
        birth = Date(day, month, year);
    }
    //void setName(string Name);
    //void setSurname(string Surname);
И SetIssueDate - по-аналогии
И вызвать эти методы в main

Добавлено через 1 минуту
Цитата Сообщение от Rudman132 Посмотреть сообщение
это все прописано в конструкторе
Так не делают
Но если уж хочешь, тупо добавь там
C++
1
birth = Date(25, 5, 2001);
Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
Passport::Passport()
: Surname("Rudman")
, Name("Artem")
, Patronymic("Ivanovich")
, Сity_birth("Sicily")
, birth(25, 5, 2001)
, Issued_by("Migration Service")
, date_issue(25, 5, 2015)
, series("IO-07")
, number(691152)
{
}
0
 Аватар для BaLahmuT
88 / 32 / 16
Регистрация: 01.06.2019
Сообщений: 672
04.02.2020, 22:58  [ТС]
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
birth = Date(25, 5, 2001);
Может так и не делают, но вот этот вариант работает...спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.02.2020, 22:58
Помогаю со студенческими работами здесь

Combobox как задать индексы вручную
Привет всем, подскажите как можно элементу combobox задать индексы вручную. У меня в combobox хранятся месяца и мне надо что бы индексы...

Как задать числа в каждом массиве вручную?
Доброго времени суток, леди и джентльмены. Изучаю массивы и никак не могу понять следующее. using System; class Massiv { ...

Как вручную задать место установки программ?
Дело вот в чем: например, требуется с диска с ПО (ZVER) установить какие-либо программы. При авторане все ставится на диск С, где винда....

Как мне записать в QDateEdit дату
Уже весь ассистент перелазил, в поисковиках тоже не могу наити метода который бы мне записывал в переменную QDateEdit дату так чтобы она...

Как задать дату?
Ребят, помогите пожалуйста, в VB ноль, а задачку надо решить, как задать алгоритм, что бы при нажатии кнопки в текстовом окне появлялась...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru