Eingabe von Datum im format mm/dd/yyyy und aufgeteilt in 3 separate Variablen?
Ich versuche, herauszufinden, wie zu tun, einige Datum der Validierung. Ich muss in der Lage sein, um eine Eingabe vom Benutzer in form von mm/TT/JJJJ und verschiedene Berechnungen, um festzustellen, Gültigkeit. Allerdings kann ich nicht herausfinden, wie gespalten das Datum in drei Variablen Tag,Monat,Jahr, nachdem ich den Eingang. Ich habe gespielt, um mit getline und get-Funktionen, aber ich kann T es herausfinden. Vielen Dank für jede Hilfe im Voraus von einem Neuling. PS ich don ' T wollen jede eingebaute Datums-Validierung Funktionen.
int main()
{
char fill = '/';
string entered_date;
int entered_month;
int entered_year;
int entered_day;
cout << "Enter a date (mm/dd/yyyy): " << endl;
cin >> entered_date;
//getline(month, 2, '/'); < fix me
//cout << entered_month << "/" << entered_day << "/"
// << entered_year << endl;
system("Pause");
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie verwenden scanf in einem solchen Fall, wie es bietet viel mehr Funktionen als cin.
Diese sollte hoffentlich den trick tun.
EDIT: eine Andere Möglichkeit, dies zu tun wäre, um die gesamte Eingabe in form einer Zeichenfolge, und dann finden von Teilstrings und überprüfen Sie bei jedem Teil.
Wenn Sie wissen, Ihre Eingabe zu korrigieren, verwenden Sie dann den ersten Teil, da es viel schneller. Wenn gibt es Chancen, falsche Eingabe, verwenden Sie die zweite, wie es sein wird robuster.
Der einfachste Weg ist
std::string::substr
, und rufen Sie dannstoi
:Live-Beispiel: http://ideone.com/PWyh8J