| Autor |
Beitrag |
oOpadeisOo
      
Beiträge: 21
|
Verfasst: So 18.05.08 20:02
Hallo @ all,
ich versuche ein programm zu schreiben,dass mit einem button und 2 edit feldern funktionert
es soll so funktioneren:
- wenn ich in das edit feld eine zahl eingebe soll die summe der zahl mit den vorherigen zahl rauskommen
Bsp.: meine zahl ist 5 , dann ist die summe 5+4+3+2+1 ,also 15
aber das soll mit allen zahlen gehen die ich in das eine edit feld eingebe und dann das ergebnis im andern rausbekomme.
wäre echt schön wenn ihr mir helfen könntet
thx in voraus
Moderiert von Narses: Topic aus Sonstiges (Delphi) verschoben am Mo 19.05.2008 um 12:47
Moderiert von Narses: Titel geändert.
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: So 18.05.08 20:03
Hallo!
Was hast du denn bisher schon? Poste mal deinen Code bzw. deine Versuche.
AXMD
|
|
oOpadeisOo 
      
Beiträge: 21
|
Verfasst: So 18.05.08 20:18
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.Button1Click(Sender: TObject); var a,b : integer begin a:=Strtoint(Edit1.Text); if a>=0 then begin repeat a:= until a=a end; Edit2.Text:=Inttostr(b); end;
end. |
das ist jetzt voll idiotisch wie ich finde, aber mir is nix besseres eingefallen und bei dem a:= weis ich nit welche "gleichung" ich da einsetzen soll -.-
|
|
1aa
      
Beiträge: 47
Erhaltene Danke: 1
Win Vista, Win8
Delphi 2007
|
Verfasst: So 18.05.08 20:49
Probiers so das is das einfachste:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var Form1:TForm1; zahl:integer procedure TForm1.Button1Click(Sender: TObject); var a : integer begin a:=Strtoint(Edit1.Text); zahl:=zahl+a Edit2.Text:=Inttostr(zahl); end;
end. |
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: So 18.05.08 21:01
@1aa: das macht aber nicht das, was er gerne möchte.
Das hier sollte prinzipiell funktionieren (ungetestet mangels Delphi-Installation):
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button1Click(Sender: TObject); var zahl, ergebnis: Integer; begin zahl := StrToInt(Edit1.Text); ergebnis := 0; while (zahl >= 0) do Inc(ergebnis, zahl); Edit2.Text := IntToStr(ergebnis); end;
end. |
Vielleicht solltest du dir auch Christians Crashkurs einmal ansehen.
AXMD
|
|
Webo
      
Beiträge: 577
Erhaltene Danke: 14
Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
|
Verfasst: So 18.05.08 21:03
Du könntest mit einer for-Schleife arbeiten
zum Beispiel so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| var Summe,Zahl:integer; begin
Zahl:=strtoint(edit1.text);
for i=Zahl to 0 do begin Summe:=Summe+Zahl; end;
end;
Edit2.Text:=inttostr(Summe); |
Keine Garantie, habs mir grad nur so aus den Fingern gezogen.
|
|
jackle32
      
Beiträge: 183
Erhaltene Danke: 7
Win7
Delphi XE5 Starter, RAD Studio XE7 Pro
|
Verfasst: So 18.05.08 21:59
@webo: So funktioniert es nicht ganz, es sind leider ein paar Fehler in deinem Code.
entweder so :
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| var Summe,Zahl, i:integer; begin Zahl:=strtoint(edit1.text); Summe := 0; for i=Zahl downto 0 do begin Summe:=Summe+Zahl; end;
Edit2.Text:=inttostr(Summe); end; |
oder so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| var Summe,Zahl, i:integer; begin Zahl:=strtoint(edit1.text); Summe := 0; for i:= 0 to Zahl do begin Summe:=Summe+Zahl; end;
Edit2.Text:=inttostr(Summe); end; |
Mir persönlich wäre die ohne die Ideen der anderen als erste die zweite Möglichkeit eingefallen. Daher würde ich die verwenden die anderen sind auch nicht schlecht, im Falle von webo nur leider Fehlerhaft, aber die Idee ist richtig!
Gruß Jack
_________________ Es gibt keine dummen Fragen, nur dumme Antworten.
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 28
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Mo 19.05.08 07:52
Wahrscheinlich hab ich die Aufgabenstellung anders verstanden, meiner Meinung nach sollte das schon eher hinkommen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| var Summe, Zahl, i: integer; begin Zahl := strtoint(edit1.text); Summe := 0; for i := 1 to Zahl do Summe := Summe + i; Edit2.Text := inttostr(Summe); end; |
mfg
|
|
jackle32
      
Beiträge: 183
Erhaltene Danke: 7
Win7
Delphi XE5 Starter, RAD Studio XE7 Pro
|
Verfasst: Mo 19.05.08 11:28
Okay wenn ich bei 1 loslaufe, hab ich halt das plus Null vergessen. Ist so gesehen halt schon optimiert.
Gruß Jack
_________________ Es gibt keine dummen Fragen, nur dumme Antworten.
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 28
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Mo 19.05.08 12:17
Du hast immer Zahl addiert anstatt i und 0 zu addieren macht wenig Sinn
mfg
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 19.05.08 13:22
Ich werfe mal den guten, alten Gauß ins Rennen: www.arndt-bruenner.d...in/summenformel1.htm 
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 28
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Mo 19.05.08 13:26
So gehts natürlich auch
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| var n: integer; begin n := strtoint(edit1.text); edit2.text := inttostr(n * (n + 1) div 2); end; |
Dachte aber es geht um den Algo an sich und nicht um eine Lösung des Summenproblems
mfg
|
|
Webo
      
Beiträge: 577
Erhaltene Danke: 14
Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
|
Verfasst: Mo 19.05.08 15:35
@ jackel32
Oh, oh, oh, peinlich. Hätte mir nicht passieren dürfen, das nächste mal überflieg ich das erstmal !
Danke dir aber für die Verbesserung !
Gruß
Webo
|
|