Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <limits>
- 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<long long>::max(), '\n');
- cout << "DNI no valido."<<endl;
- cout<<"DNI: ";
- cin >> dni;
- }
- int legajo;
- cout << "LEGAJO: ";
- cin >> legajo;
- while (!validar(legajo)) {
- cin.clear();//limpia el estado de error
- cin.ignore(numeric_limits<int>::max(), '\n');
- cout << "Legajo no valido."<<endl;
- cout<<"LEGAJO: ";
- cin >> legajo;
- }
- return 0;
- }
- //numeric_limits para obtener el valor máximo posible de un tipo de datos del bufer
- //<long long - int> :es el tipo de datos y max(): devuelve el valor máximo posible para ese tipo
Advertisement
Add Comment
Please, Sign In to add comment