Ziffernsumme mit Funktionen!

niTeZ

Mitglied
Hi Leute!

Ich habe da ein kleines Problem mit einem Programm das ich zum ausarbeiten bekommen habe. Ich habe erst vor kurzem mit Funktionen angefangen und check da irgendwas nicht so genau... außerdem wird ein undefinierter Bezeichner "N" gefunden, was ich mir auch nicht erklären kann! Ich hoffe mal mir kann jemand so helfen, das das Programm funktioniert! (Worum es in dem Programm genau geht, müsste man aus den Kommentaren erkennen)

//*********************************************************
// *
// Titel - fZiffSumm *
// Zweck: Eine Funktion die zurückliefert ob N durch *
// durch die Ziffernsumme von N teilbar ist. *
// Autor: Martina Lorbek *
// Datum: 05.04.2003 *
// *
//*********************************************************

unit fziffsumm1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
gb1: TGroupBox;
lbZahl: TLabel;
edN: TEdit;
btLos: TButton;
GroupBox1: TGroupBox;
mmAus: TMemo;
procedure btLosClick(Sender: TObject);


private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}


//*********************************************************
// *
// Ziffsumm - Berechnung der Ziffernsumme *
// Eingabe: Zahl N *
// Ausgabe: - *
// Rückgabe: Ziffernsumme *
// Kommentar: Bsp. Ziffersumme von 1024=7 *
// *
//*********************************************************

function fZiffSumm(N: integer): integer;
var
ZS, E: integer;
begin
N:=StrToInt(edN.Text);
N:=abs(N);
ZS:=0;
while N > 0 do
begin
E:= N mod 10;
ZS:= ZS+E;
N:= N div 10;
end;
result:=ZS;
end;

//*********************************************************
// *
// Ziffsummteilbar - Prüft ob N durch seine Ziffersumme *
// teilbar ist. *
// Eingabe: N *
// Ausgabe: - *
// Rückgabe: true - N teilbar, Bsp. Ziffernsumme von 12 *
// teilbar. *
// false - N nicht teilbar. *
// *
//*********************************************************

function fZiffSummteilbar(N: integer): boolean;
var
teiler: integer;
begin
teiler:= fZiffSumm(N);
if N mod teiler=0 then
result:= true
else
result:= false;
if result= true then
mmAus.Lines.Add('Diese Zahl ist durch seine Ziffernsumme teilbar.')
else
mmAus.Lines.Add('Diese Zahl ist nicht durch seine Ziffernsumme teilbar.')
end;

procedure TForm1.btLosClick(Sender: TObject);
begin
fZiffSumm;
fZiffSummteilbar;
end;

end.
 
Zuletzt bearbeitet:
Zurück