Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi 2 hoch 3 hoch 4 u.s.w . (https://www.delphipraxis.net/164179-2-hoch-3-hoch-4-u-s-w.html)

boxer123 1. Nov 2011 17:55

2 hoch 3 hoch 4 u.s.w .
 
Ich bins wieder mal, ich habe mir vorgenommen ein Programm zu schreiben, also es soll folgendes tun

3 Edit in dem erstem schreibt man z.b. 3 und im zweiten 4 . Dann rechnet er 3*3*3*3 und das ergebnis gibt er im 3 edit an

Ich habe es mir so vorgestellt

die zahl die der benutzer eingibt, nehmt er raus und legt die in die variable zahl1

Delphi-Quellcode:
zahl1:=edit1.text;
die andere zahl die der benutzer eingibt, nehmt er raus und legt die in die variable zahl2
Delphi-Quellcode:
zahl2:=edit2.text;
und jetzt muss er rechnen,
ergebnis:= zahl1 * zahl2;


das geht so nicht wie mache ich es das er immer * die zahl nimmt

himitsu 1. Nov 2011 17:58

AW: 2 hoch 3 hoch 4 u.s.w .
 
Ein TEdit enthält Strings und du benötigst "Zahlen" ... wie wäre es also, wenn du die String entsprechend konvertierst?


z.B.
String To Integer
bzw.
Integer To String

Bummi 1. Nov 2011 18:00

AW: 2 hoch 3 hoch 4 u.s.w .
 
was hat das, was Du tust mit dem zu tun, was Du tun willst?
Was eine Schleife ist, solltest Du ja aus Deinen letzten Threads gelernt haben ...

Wolfgang Mix 1. Nov 2011 18:05

AW: 2 hoch 3 hoch 4 u.s.w .
 
... und ergänzend:
Warum benutzt du nicht die Funktion POWER aus der unit math?

boxer123 1. Nov 2011 18:12

AW: 2 hoch 3 hoch 4 u.s.w .
 
mein schwachpunkt ist ich kann es nicht umsetzen

DeddyH 1. Nov 2011 18:13

AW: 2 hoch 3 hoch 4 u.s.w .
 
Lassen wir Power einmal aus dem Spiel, als Schleifenübung ist das doch eine ganz geeignete Sache. Aber wie himi schon schrieb: man muss sich darüber im Klaren sein, dass das, was der Endbenutzer sieht, Strings sind. Das ist auch OK, aber man sollte nicht der Versuchung erliegen, nun alle Aufgaben mit Strings erledigen zu wollen, sondern erst einmal in den passenden Datentyp konvertieren, damit rechnen und zur Ausgabe wieder in String zurückkonvertieren (EVA-Prinzip). Das wurde ja im anderen Thread bereits angesprochen, aber leider nicht umgesetzt.

BTW: Eine Zahl hoch 0 ergibt immer 1, das nur so als Tipp ;)

DeddyH 1. Nov 2011 18:14

AW: 2 hoch 3 hoch 4 u.s.w .
 
Zitat:

Zitat von boxer123 (Beitrag 1133838)
mein schwachpunkt ist ich kann es nicht umsetzen

Und wo genau hakt es?

[edit] *Mist* sry fürs Pushen, eigentlich wollte ich editieren :oops: [/edit]

boxer123 1. Nov 2011 18:16

AW: 2 hoch 3 hoch 4 u.s.w .
 
wie ich es mache das er immer wenn jetzt eine 4 im edit 1 und eine 4 im anderen das er es macht also

4*4*4*4

Wolfgang Mix 1. Nov 2011 18:17

AW: 2 hoch 3 hoch 4 u.s.w .
 
Zeige doch eimal ein bisschen Code

DeddyH 1. Nov 2011 18:22

AW: 2 hoch 3 hoch 4 u.s.w .
 
Delphi-Quellcode:
function SlowPower(Basis, Exponent: integer): integer;
var
  i: integer;
begin
  Result := 1;
  for i := 1 to Exponent do
    Result := {Was muss hier rein?};
end;
Wenn Du den Kommentar mit der richtigen Zuweisung ersetzt, dann hast Du es schon.

boxer123 1. Nov 2011 18:25

AW: 2 hoch 3 hoch 4 u.s.w .
 
weg

DeddyH 1. Nov 2011 18:26

AW: 2 hoch 3 hoch 4 u.s.w .
 
Wozu sollen die Arrays gut sein?

boxer123 1. Nov 2011 18:29

AW: 2 hoch 3 hoch 4 u.s.w .
 
für die 2 zahlen

DeddyH 1. Nov 2011 18:31

AW: 2 hoch 3 hoch 4 u.s.w .
 
Du musst auch mal lesen, was die anderen schreiben. Dafür brauchst Du doch kein Array, nimm StrToInt (eigentlich besser TryStrToInt, aber lassen wir das mal außen vor), da gibst Du einen String rein und bekommst (hoffentlich) eine Integer raus, und das ganz ohne Array.

boxer123 1. Nov 2011 18:37

AW: 2 hoch 3 hoch 4 u.s.w .
 
weg

DeddyH 1. Nov 2011 18:40

AW: 2 hoch 3 hoch 4 u.s.w .
 
Schmeiß doch mal die globalen Variablen weg und mach eine Funktion draus wie in meinem Beispiel. Diese Funktion kannst Du dann im ButtonClick aufrufen.

[edit] Oder lass es meinetwegen so und überleg Dir, womit Du in der Schleife die Basis multiplizieren musst. Exponent ist schon mal falsch, der dient nur als Schleifenvariable. [/edit]

himitsu 1. Nov 2011 18:42

AW: 2 hoch 3 hoch 4 u.s.w .
 
Und verabschiede dich endlich auch von diesen globalen Variablen.

Für das, was du so machst, wirst du garantiert immer ohne sowas auskommen.
basis, exponent, result und i werden "nur" in dieser Procedur verwendet, also gehören sie dort auch hin.


PS: Den Exponenten hast du schon in der Schleife verbaut ... den brauchst also nicht nochmal benutzen.
Bleibt also noch die Basis und das Result ... und du willst "zum" Result ja was dazurechnen.

[add]
Du mußt basis und exponent natürlich auch noch deine Edit-Inhalte zuweisen.
Wären es lokale Variablen gewesen, hätte dir Delphi sogar gesagt, daß dort etwas fehlt. (siehe Compilerhinweise)

boxer123 1. Nov 2011 18:45

AW: 2 hoch 3 hoch 4 u.s.w .
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
  var basis,exponent,result,i:integer;
  begin
    Result := 1;
    for i := 1 to Exponent do
      Result := result * basis; //
      edit3.text:=inttostr(result);
aber ich weiß nicht

DeddyH 1. Nov 2011 18:46

AW: 2 hoch 3 hoch 4 u.s.w .
 
Und wenn Du jetzt noch Basis und Exponent die eingegebenen Werte zuweist, was kommt dabei raus?

himitsu 1. Nov 2011 18:49

AW: 2 hoch 3 hoch 4 u.s.w .
 
Zitat:

Zitat von DeddyH (Beitrag 1133858)
Und wenn Du jetzt noch Basis und Exponent die eingegebenen Werte zuweist, was kommt dabei raus?

Zitat:

Zitat von himitsu
[add]
Du mußt basis und exponent natürlich auch noch deine Edit-Inhalte zuweisen.
Wären es lokale Variablen gewesen, hätte dir Delphi sogar gesagt, daß dort etwas fehlt. (siehe Compilerhinweise)

Und auf das hören, was Delphi dir sagt.

boxer123 1. Nov 2011 18:49

AW: 2 hoch 3 hoch 4 u.s.w .
 
aso ist ja logisch

DeddyH 1. Nov 2011 18:50

AW: 2 hoch 3 hoch 4 u.s.w .
 
Und hör bitte auf, Beitragsinhalte zu löschen. Wenn später andere dasselbe Problem haben, können sie den Zusammenhang der Antworten ja gar nicht mehr erkennen.

boxer123 1. Nov 2011 18:51

AW: 2 hoch 3 hoch 4 u.s.w .
 
oh tut mir leid

DeddyH 1. Nov 2011 18:52

AW: 2 hoch 3 hoch 4 u.s.w .
 
Nicht so schlimm, aber bitte für die Zukunft merken. Peinlich muss Dir nichts sein, hier gibt es ganz andere Threads (nein, ich verlinke den bestimmten jetzt nicht^^).

Wolfgang Mix 1. Nov 2011 18:56

AW: 2 hoch 3 hoch 4 u.s.w .
 
Das wäre auch nicht fair, Spott gab es schon genug:)

DeddyH 1. Nov 2011 18:57

AW: 2 hoch 3 hoch 4 u.s.w .
 
:zwinker:

himitsu 1. Nov 2011 19:00

AW: 2 hoch 3 hoch 4 u.s.w .
 
Och schade, dabei war das Negieren soooo toll :love:

Wolfgang Mix 1. Nov 2011 19:04

AW: 2 hoch 3 hoch 4 u.s.w .
 
Lass das doch bitte, jeder hat mal klein angefangen, auch wenn er meinte, er sei ein "guter Programmierer"

DeddyH 1. Nov 2011 19:06

AW: 2 hoch 3 hoch 4 u.s.w .
 
Könnten wir denn jetzt wieder zum Thema zurückkehren? Larsi scheint sich ja sowieso vom Forum oder gar Delphi abgewandt zu haben, trotzdem lassen wir besagten Thread jetzt mal in Frieden ruhen, gehört nicht hierher.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz