![]() |
Re: Taschenrechner Programmieren
Liste der Anhänge anzeigen (Anzahl: 2)
Ich hab es nochmal als .zip und .rar angehängt!
|
Re: Taschenrechner Programmieren
ohhh sorry
|
Re: Taschenrechner Programmieren
Liste der Anhänge anzeigen (Anzahl: 1)
ich hab mal ein beispiel geschrieben, wie mans machen könnt...
is scho fast ein kleiner parser... mängel: eine zahl kann einige kommas haben... |
Re: Taschenrechner Programmieren
Wenn ich einen String(Edit.text) habe (Beispiel=1+6/6*5). Wie kann ich ihn dann ausrechnen lassen?
|
Re: Taschenrechner Programmieren
1+6/6*5
-suche zuerst alle / und *: -finde das 6/6 und ersetze es durch das ergebnis (6/6 = 1) 1+1*5 -finde das 1*5 und ersetze es durch das ergebnis (1*5 = 1) 1+1 nichts mehr gefunden, also -suche alle + und - -finde 1+1 und ersetze es durch das ergebnis (1+1 = 2) 2 nichts mehr gefunden, also Ergebnis = 2 |
Re: Taschenrechner Programmieren
Zitat:
|
Re: Taschenrechner Programmieren
Gibt es die Möglichkeit:
(Wenn man vorher / durch div ersetzt?
Code:
Ergebnis := strtoint(edit1.text);
|
Re: Taschenrechner Programmieren
Zitat:
Zitat:
Code:
oder so
'1 div 1 ' ist kein gültiger Integerwert
|
Re: Taschenrechner Programmieren
man brauch wirklich nen parser!
man muss den ganzen "scheiss" in nen array klotzen (so etwa: '2+7*123+34' wird zu a[1]:='2'; a[2]:='+'; a[3]:='7'; a[4]:='*'; a[5]:='123'; a[6]:='+'; a[7]='34'; ) dan muss man sagen
Delphi-Quellcode:
und dann
try zahl1:=strtoint(a[1])
except zeichen1:=a[1]; und so wieter....
Delphi-Quellcode:
wobei das jetzt ne spontene idee war, und wahrscheinlich das umstaädlichste überhaupt ist...
if zeichen1:='*'
then ergebnis:=zahl1 * zahl2 else if zeichen1='/' then ergebnis:=zahl1/zahl2; |
Re: Taschenrechner Programmieren
ich habs so ähnlich gemacht
nur dass ich die Zahlen in einem Array und die Zeichen in einem String habe |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz