Lo primero gracias por las respuestas. Todavia estoy muy verde en el tema y hay cosas k me suenan a chino pero adaptando el ultimo codigo que puso amchacon he conseguido que funcione como me piden, ahora solo falta una cosita y es que el resultado de correct date me lo da en una linea nueva y a mi me gustaria que la pusiera en la misma linea, es decir, 04 06 1935 Correct Date.
Aqui os dejo el codigo
Código:
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
string linea;
stringstream Nuevo;
int a;
int b;
int c;
while (getline(cin, linea))
{
Nuevo.str(string(linea)); // Metemos la linea en el stream
Nuevo>>a;
Nuevo>>b;
Nuevo>>c;
if ((b == 1 || b == 3 || b == 5 || b == 7 || b == 8 || b == 10 ||
b == 12) && (a > 0 && a <= 31)) {
cout << "Correct Date" << endl;
} else {
if ((b == 4 || b == 6 || b == 9 || b == 11) &&
(a > 0 && a <= 30)) {
cout << "Correct Date" << endl;
} else {
if (b == 2 && a > 0 && a <= 28) {
cout << "Correct Date" << endl;
} else {
if ((b == 2 && a == 29) && (((c % 4 == 0) &&
(c % 100 != 0)) || ((c % 4 == 0) &&
(c % 100 == 0) && (c % 400 == 0)))) {
cout << "Correct Date" << endl;
} else {
cout << "Incorrect Date" << endl;
}
}
}
}
}
return 0;
}
Gracias de nuevo y saludos!!