[C] Problem mit einfachen Taschenrechner

Moin,

Ist bei Addition und Subtraktion die Klammersetzung nicht sowieso obsolet (ich mag das Wort :) )?

ich auch :p

Aber ob obsolet oder nicht .... ich finde, lieber einmal zuviel klammern als zuwenig (!)
Das hat ganz ein einfach was mit der Lesbarkeit Deines Codes zu tun .... Im Zweifel hilft es Dir, wenn Du nach Monaten mal wieder in den Code schaust ;-]

Gruß
Klaus
 
Danke sheel für deinen Post,
dann leg ich mal den Gedankengang auf Eis, vllt findet sich ja ein anderer Lösungsweg.

Wäre es möglich einen Zeiger zu initialisieren, der dann die jeweiligen Stellen des Strings abklappert und mit dem Zeiger dann zu rechnen?

Ich stimme euch zu, dass die Klammersetzung bei diesem Rechner hier äußerst überflüssig ist.:D
Wo ich die Aufgabenstellung gelesen hab, hab ich mir gedacht, warum wird bei diesem Rechner wert auf Klammern gelegt, da sie ja bei Subtraktion und Addition eh keine Rolle spielen.

Mit freundlichen Grüßen
 
Wäre es möglich einen Zeiger zu initialisieren, der dann die jeweiligen Stellen des Strings abklappert und mit dem Zeiger dann zu rechnen?
Natürlich kann man das so machen. Du mußt nur die Zeichen in den jeweiligen Wert der Ziffer umrechnen (Hinweis: ASCII Code).
Ich stimme euch zu, dass die Klammersetzung bei diesem Rechner hier äußerst überflüssig ist.:D
Wo ich die Aufgabenstellung gelesen hab, hab ich mir gedacht, warum wird bei diesem Rechner wert auf Klammern gelegt, da sie ja bei Subtraktion und Addition eh keine Rolle spielen.
Du scheinst die (subtile) Ironie in Matthias und meinem Beitrag nicht verstanden zu haben. Bitte überleg doch noch mal ob z.B. für den Term 3 - (5 + 8) das gleiche herauskommt wenn man keine Klammern setzt.

Gruß
 
Danke für die schnelle Antwort.

Ohne Klammersetzung ergibt sich ein Problem, da dann die erste Operation eine negative Zahl wird, die aber nicht als negativ erkannt wird

Leider weiß ich nicht wie es möglich ist den ASCII-Wert in die Ziffer umzuwandeln,
ich würde mich freuen, wenn du mich aufklären würdest.:)

Mit freundlichen Grüßen
 
Ohne Klammersetzung ergibt sich ein Problem, da dann die erste Operation eine negative Zahl wird, die aber nicht als negativ erkannt wird
Was soll das denn heißen? Warum erkennst du die Zahl nicht als negativ?
Leider weiß ich nicht wie es möglich ist den ASCII-Wert in die Ziffer umzuwandeln,
ich würde mich freuen, wenn du mich aufklären würdest.:)
Welchen ASCII Code hat das Zeichen '0'?
Welchen ASCII Code hat das Zeichen '1'?
Welchen ASCII Code hat das Zeichen '2'?
Welchen ASCII Code hat das Zeichen '3'?
Welchen ASCII Code hat das Zeichen '4'?
Welchen ASCII Code hat das Zeichen '5'?
...

Gruß
 
Des mit den Klammern war grad a schmarn.:D
Bei Subtraktion und Addition interessieren die Klammern niemanden.

Zu den ASCII-Codes:
0 hat den ASCII-Wert 48 .... soweit komm ich schon mit.
Der Pointer enthält ja dann den ASCII-Wert, aber ich weiß nicht, wie ich ihn dann in die Ziffer umwandle, dass ich dann mit ihr rechnen kann?

Mit freundlichen Grüßen
 
Die Klammern interessieren keinen?
1-2+3=2
1-(2+3)=-4

Bezüglich den Codes:
Du hast es ja schon erkannt: 0 hat 48, 1 hat 49...
Einfach Den char minus 48, dann hast du die pure Ziffer.
 
Gut...die Klammern sind also von Relevanz.:D

Nun zu den ASCII-Werten:
Dankeschön für die Aufklärung, Wert-48 liefert dann die gewünschte Zahl.

Jetzt werd ich mich wohl mal ins Getümmel stürzen.:)
 

Neue Beiträge

Zurück