Если делать правильно, то это будет примерно пара страниц кода на реализацию класса, который будет парсить ввод пользователя, в том числе ввод с ошибками, неточностями и в разном формате (надо, как минимум, обрабатывать даты вида YYYY-MM-DD, MM/DD/YYYY и нашу традиционную DD.MM.YYYY). Ну а вызов метода у экземпляра класса да - будет одной строчкой.
ну как вариант использовать структуру или класс, но лучше структуру, класс для такой задачи не к чему, если конечно не собираешься приватные методы делать. я еще переопределил операторы << и >> для удобства вывода и чтения, но этот способ по идее будет только в с++ 20 и выше работать, т.к. format появилась недавно #include <iostream>
#include <format>
struct Date {
int day;
int month;
int year;
};
std:stream& operator<<(std:stream &out, const Date &date) {
out << std::format("{:02d}.{:02d}.{:04d}", date.day, date.month, date.year);;
return out;
}