Quersumme einer Ganzzahl mit Fehlern

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6853
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Quersumme einer Ganzzahl mit Fehlern

Beitrag von af0815 »

Ich habe hier eine Anfrage von einem neuem Mitglied bekommen, das sich aber nicht traut selbst zu posten :-)
Wir müssen mittlerweile einen brutalen Ruf haben :mrgreen: :mrgreen:

Allgemeine Hinweise:

1) Es gibt keine dummen und peinlichen Fragen, nur manchmal mehr oder weniger passende Antworten -> das muß man im Internet aushalten
2) Irgendwie funktioniert es nicht -> wenn man schreibt welche Fehler angezeigt werden, so kommt man entweder zu einer Lösung oder es kann einem wer helfen
3) Wir lösen keine Hausübungen, wir geben Hilfe dazu
4) Wenn was nicht läuft, so darf man auch den Debugger verwenden um die falschen Ergebnisse zu kontrollieren und zu sehen wo der Fehler ist.

Ich habe den Text aus der PN hier mal angeführt.

Ich habe hier die Lösung angefügt, da ich der Meinung bin, das die Aufgabe fast verstanden wurde (ich glaube immer an das Gute im Menschen). Wenn du jetzt auch noch Mumm hast, so kannst du dich auch im Forum melden.
 
Hallo,
 
ich bin neu hier in Forum und hab auch erst begonnen mit Lazarus zu programmieren.
Ich hab jetzt willkürlich einen rausgesucht um nach Hilfe zu fragen.
Ich möchte mit einer For-Schleife die Quersumme einer Ganzzahl ermitteln, folgendes hab ich programmiert:
 
 
irgendwie funktioniert es aber nicht und mir ist es beinlich öffentlich zu fragen.
Vielen Dank!!!!!
Hier der Code

Code: Alles auswählen

procedure TForm1.Btn_startClick(Sender: TObject);
var Eingabe : string;
  a : integer;
  i : integer;
  b : integer;
  c : integer;
  Ausgabetext: string;
begin
  //Eingabe
  c=0;
  a := length (Edt_Eingabe.text) ;
 
  //Verarbeitung
 
  for i := 0 to a do begin
    b:= strtoint( copy (Eingabe,i,1)) ;
    c:= 0+b ;
  end;
 
  // Ausgabe
  Ausgabetext := inttostr (c) ;
  Edt_Ausgabe.text := Ausgabetext ;
 
Lösung

Code: Alles auswählen

 
procedure TForm1.Button1Click(Sender: TObject);
  var Eingabe : string;
  a : integer;
  i : integer;
  b : integer;
  c : integer;
  Ausgabetext: string;
begin
     //Eingabe
     c := 0;
     Eingabe := Edit1.text;
     a := length (Eingabe) ;
     //Verarbeitung
 
     for i := 1 to a do
     begin
         b:= strtoint( copy (Eingabe,i,1)) ;
         c:= c + b ;
     end;
    // Ausgabe
   Ausgabetext := inttostr (c) ;
   Edit2.text := Ausgabetext ;
 
end;
 
Zuletzt geändert von Lori am Mo 14. Jan 2013, 15:51, insgesamt 1-mal geändert.
Grund: richtiger Highlighter
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten