Buenas, Como podría hacer para validar una fecha, es decir tomar la cadena obtener los números y hacer la comparaciones para permitir menos de 31 días, menos de 12 meses. Tengo este código pero realmente no se como almacenar en una variable temporal y asi hacer las validaciones.
#include <iostream>
using std::cout;
using std::endl;
#include <cstring>
int main()
{
char fecha[]="12/17/19";
char *ptr;
cout << fecha << endl;
ptr = strtok(fecha,"/");
while(ptr != NULL)
{
cout << ptr << endl;
ptr = strtok(NULL, "/");
}
return 0;
}
Usa sscanf. Algo así:
sscanf(fecha, "%d/%d/%d", &dia, &mes, &anyo);
Es un proyecto en el cual tengo que solo permita la entrada de numeros y el slash en las posiciones correspondientes. Pero si lo hago como dices no le encuentro como validar todo.
Que escriba por ejemplo 21*12-06 cuando deberia ser DD/MM/AN
Cita de: eduardo1012 en 10 Noviembre 2016, 19:26 PM
Que escriba por ejemplo 21*12-06 cuando deberia ser DD/MM/AN
Verifica el retorno de scanf
if(scanf("%d/%d/%d", &dia, &mes, &anyo) != 3)
//formato incorrecto