Program na zistenie či číslo bankového účtu je správne

Delphi & Pascal (česká wiki)
Přejít na: navigace, hledání
Kategória: KMP (Klub mladých programátorov)

Program: Cislo_uctu.pas

Program na zistenie či číslo bankového účtu je správne.
{ CISLO_UCTU.PAS                                                    }
{ Program na zistenie ci cislo bankoveho uctu je spravne.           }
{                                                                   }
{ Author: Neznamy                                                   }
{ Date  : 27.00.2010                           http://www.trsek.com }
 
program cislo_uctu;
var PredCislie: String; Ucet: String;
 
{ samotna funkcia na zistenie spravnosti cisla uctu }
function KontrolaModulo (PredCislie: String; Ucet: String): Boolean;
var
	Kod: String;
	I, J, K: Byte;
	Sucet: Word;
	Prefix, Account: Boolean;
begin
	Kod := '6,3,7,9,10,5,8,4,2,1';
	Result := False;
	Prefix := False;
	Account := False;
 
	{ Kontrola predčíslia }
	Sucet := 0;
	For I := 0 to 5 do
		begin
		 J := StrToInt(MidStr(PredCislie, I + 1, 1));
		 K := StrToInt(Field(',', Kod, 5 + I));
		 Sucet := Sucet + (J * K);
		 end;
		 If Sucet Mod 11 = 0 then Prefix := True;
 
	{ Kontrola čísla účtu }
	Sucet := 0;
	For I := 0 to 9 do
		begin
		 J := StrToInt(MidStr(Ucet, I + 1, 1));
		 K := StrToInt(Field(',', Kod, I + 1));
		 Sucet := Sucet + (J * K);
		 end;
		 If Sucet Mod 11 = 0 then Account := True;
 
	If (Prefix = True) and (Account = True) then Result := True;
end;
 
begin
  writeln('Program zisti ci je cislo uctu spravne (existujuce)');
  write('Zadaj predcislie uctu : ');
  readln( PredCislie );
 
  write('     Zadaj cislo uctu : ');
  readln( ucet );
 
  { kontrola }
  Write('Ucet ', PredCislie, '-', ucet,' ');
  if( KontrolaModulo(PredCislie, Ucet))then
	  Writeln('je spravny')
  else
	  Writeln('nesplna podmienky na modulo');
 
  readln;
end.