Dev - C++ - Ayuda con un codigo de varias partes

 
Vista:

Ayuda con un codigo de varias partes

Publicado por miguel cano (1 intervención) el 30/11/2017 05:24:45
Que tal a todos! bueno es mi primera vez en este foro, espero me disculpen si comento alguna infracción a las reglas.

vale basicamente necesito una ayuda en este codigo que me dejaron para mi y mis compañeros, el codigo es bastante largo así que solo voy a poner mi parte (planeamos hacer 1 parte cada uno y luego unirlo)

En mi lado me pide hacer esto:

Tras solicitar o generar el DNI (Esto es el resultado de la anterior parte de mi compañero, generar un dni aleatoreo, como no lo tengo solo hago que solicite un numero al azar) se debe comprobar que el valor introducido es positivo y tiene a lo sumo 8 dígitos. En caso de no cumplir estas condiciones se ha de indicar que el DNI introducido es incorrecto y se
pedirá o generará un nuevo valor (de nuevo como no poseo el resultado de mi compañero, solo hago que indique que el numero ingresado es incorrecto y vuelva a pedir que ingrese un numero al azar)


.
En la fase de verificación se debe utilizar una función que reciba como parámetro el número del DNI y, tras
hacer las comprobaciones pertinentes, devuelva el valor VERDADERO (1) o el valor FALSO (0)


bueno con lo bastante corcho que soy solo eh logrado hacer cumplir el primer parrafo (se debe comprobar que el valor introducido es positivo y tiene a lo sumo 8 dígitos. En caso de no cumplir estas condiciones se ha de indicar que el DNI introducido es incorrecto y se
pedirá o generará un nuevo valor
)

pero el segundo parrafo no lo entiendo, ya de por si, soy malo en funciones y no logro entender que es lo que me esta pidiendo.

acá esta mi código hasta ahora:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
using namespace std;
 
 
int main(void) {
    char dni[20];
	do
	{
		cout<<"Introdusca el DNI: ";
		cin>>dni;
		if (strlen(dni)!=8)
			cout<<"Por favor introdusca un DNI valido"<<endl;
		else if (dni<=0)
			cout<<"Por favor introdusca un DNI valido"<<endl;
	}
	while (strlen(dni)!=8 || dni<=0);
	system("pause");
    return 0;
}


cualquier ayuda se agradecería muchísimo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con un codigo de varias partes

Publicado por dario (107 intervenciones) el 30/11/2017 14:50:12
Hola, nunca mezcles librerias de C y C++
Te dejo este codigo, es casi igual al tuyo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstring>
 
using namespace std;
 
int main() {
  string dni;
 
  do {
    cout << "Ingrese su numero de DNI:";
    cin >> dni;
 
    if (dni.length() < 8)
      cout << "Error. El DNI debe tener 8 caracteres. Intente nuevamente." << endl;
 
  } while (dni.length() < 8);
 
  return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar