#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