Ver Mensaje Individual
  #18  
Antiguo 17-08-2007
Avatar de gerupc
gerupc gerupc is offline
Miembro
 
Registrado: jul 2007
Ubicación: Universidad de Deusto
Posts: 61
Reputación: 17
gerupc Va por buen camino
Talking

Aupa de nuevo,

faltaba un pequeño detalle, ya que no me cuadraban algunos resultados... El fallo era que la suma de el ultimo digito de la suma de los "cuatro" primeros
digitos, tenia que ser igual al último digito de la clave entrante.

Y claro, de la anterior manera, lo que se hacía era la suma de todos los digitos, para ello lo que he hecho ha sido hacer a k:=-Ult_digito, quedando así el código:

Código Delphi [-]
program Ejercicio3;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  clave: integer;
  Ult_digito: integer;
  k: integer;
begin
  Write('Escribe el valor de la clave:');
  Readln(clave);
    Ult_digito := clave mod 10;  //Asi consigo el ultimo digito, ya que es igual al resto
    k := - Ult_digito; //Para que unicamente me sume todos exceptuando el Ultimo Digito.
      while clave > 0 do
        begin
          k := k + (clave mod 10); //Almacena el valor de cada digito excepto del ultimo, y los suma...
          clave := clave div 10; //hasta que esto sea 0 clave := 0
        end;
  if k mod 10 = Ult_digito then
    Writeln('La clave es CORRECTA')
  else
    Writeln('La clave es INCORRECTA');
    readln;
end.

Un saludo!

Geru.
__________________
Mi Blog
---------------------
Universidad de Deusto
ESIDE-Escuela Superior de Ingenieros Deusto
Responder Con Cita