#include #include using namespace std; // Función para contar el número de dígitos en un número Dni int contarDigitos(long long num) { int contador = 0; while (num > 0) { num /= 10; contador++; } return contador; } //sobrecarga para contar numero de digitos en un numero Legajo int contarDigitos(int num){ int contador = 0; while(num > 0){ num /= 10; contador++; } return contador; } // Función para validar el DNI bool validar(long long dni){ int numDigitos = contarDigitos(dni); int minimoDigito = 8; int maximoDigito = 10; if (numDigitos >= minimoDigito && numDigitos <= maximoDigito) { return true; } return false; } //Sobrecarga funcion para validar Legajo bool validar(int legajo){ int numDigitos = contarDigitos(legajo); int minimoDigito = 4; int maximoDigito = 6; if(numDigitos >= minimoDigito && numDigitos <= maximoDigito){ return true; } return false; } int main() { long long dni; cout << "DNI: "; cin >> dni; while (!validar(dni)) { cin.clear();//limpia el estado de error cin.ignore(numeric_limits::max(), '\n'); cout << "DNI no valido."<> dni; } int legajo; cout << "LEGAJO: "; cin >> legajo; while (!validar(legajo)) { cin.clear();//limpia el estado de error cin.ignore(numeric_limits::max(), '\n'); cout << "Legajo no valido."<> legajo; } return 0; } //numeric_limits para obtener el valor máximo posible de un tipo de datos del bufer // :es el tipo de datos y max(): devuelve el valor máximo posible para ese tipo