sposób na podanie daty w formacie dd-mm-rrrr

0

Witam. Nie wiem jak inaczej nazwać taki temat, a może już był podobny temat.
Jeżeli jest to proszę o linka.
Chodzi mi o to, jak zrobić coś takiego:

cin>>dd>>"-">>mm>>"-">>rrrr;

żeby podczas wpisywania daty były jednocześnie te myślniki oddzielające liczby.
Można coś takiego zrobić, albo żeby coś zrobić, żeby program przechodził do następnej linii dopiero po wpisaniu rrrr, ale nie wcześniej.
Da się zrobić coś takiego?

dodanie znacznika <code class="cpp"> - fp

0

przeładować operator >> ?

0

A w jakiś bardziej przystępny opis? Nie jestem za bardzo zaawansowanym programistą.

jakiś przykład może

0

gdybyś umiał szukać na forum. Albo w ogóle szukać to byś znalazł

Metoda łącząca łańcuchy zwraca śmieci.

0

Na szybko i nieodporne na błędy:

#include <iostream>
#include <iomanip>
using namespace std;

struct Data
{
	int d, m, r;
};

istream& operator >> (istream &in, Data &data)
{
	in >> data.d;
	in.ignore(1);
	in >> data.m;
	in.ignore(1);
	in >> data.r;
	return in;
}

ostream& operator << (ostream &out, const Data data)
{
	return out << data.r
		<< '.' << setfill('0') << setw(2) << data.m
		<< '.' << setfill('0') << setw(2) << data.d;
}

int main()
{
	Data data;
	cin >> data;
	cout << data << endl;
}
1-1-2001
2001.01.01
0

fasadin nie zrozumiałeś o co mi chodzi. U ciebie dzień miesiąc i rok są ustawione na sztywno. A mi rozchodzi się o to, żeby użytkowik przy wpisywaniu daty, miał pokazane myślniki już zanim zacznie w ogóle wpisywać te dane, tak jak np. w pitach gdzie wpisujesz swój pesel/nip, . Masz kilka wolnych kratek później myślnik, znowu kratki i tak do końca.

0

Przecież napisałem "żeby podczas wpisywania daty były jednocześnie te myślniki oddzielające liczby." a nie wypisywania przez sam program. a to jest chyba różnica.

0
adrian.widzew napisał(a):

Przecież napisałem "żeby podczas wpisywania daty były jednocześnie te myślniki oddzielające liczby." a nie wypisywania przez sam program. a to jest chyba różnica.

Trzeba było po prostu od razu napisać tak jak w poście wyżej.

Musisz użyć jakiejś bardziej zaawansowanej biblioteki do obsługi konsoli. np. ncurses, albo funkcji konsolowych z WinAPI.

1 użytkowników online, w tym zalogowanych: 0, gości: 1