| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: formel ausrechnen [c++] im Forum Code Kitchen, in der Kategorie Software Home; Anzeige ich wollte infach mal nachfragen ob ihr eine möglichkeit seht das der benutzer bei ner konsolen anwendung ne formel ...
![]() |
| | #1 (permalink) |
| Registriert seit: 27.03.07 ![]() Likes: 0 | Anzeige ich wollte infach mal nachfragen ob ihr eine möglichkeit seht das der benutzer bei ner konsolen anwendung ne formel eingibt z.b. 3+4+5 und dass programm dass direkt ausrechnet also die formel in einer variablen gespeichert wird und man nich jede summand in ne extra variabel schreiben muss . |
| | |
| | #2 (permalink) |
| Registriert seit: 02.01.07 ![]() Likes: 0 | Als Konsole fällt mir nur sowas ein: Du müsstes das als String oder Char-array einlesen und dann aussortieren. Also erkennen, wo die erste Zahl ist -> in einen array schreiben -> Operation erkennen (hier +) -> meinedwegen in 2. Array oder so -> nächste Zahl erkennen... Wenn du das dann soweit eingelesen hast, lässt du ne For-Schleife durchlaufen, dass alle Punkt-Operatoren zuerst ausrechnet. Wenn die Berechnet sind stellst du den einen Wert aus dem Zahlen-array auf das Ergebnis, die andere auf null und vermerkst das erfolgreiche berechnen im Operatoren-Array. Danach lässt du den Array nochmal durch ne Schleife laufen und fügst die Teilersgebnisse dem gesamtergebnis an.(was ich meine: neue Variable(G) machen, G=Zahlen[0] ... G=G (operator) Zahlen[1] ... ) Hoffe du hast das verstanden. xD Naja, das Doofe bei der Konsole ist, dass du ja die ganze Formel auf einmal einliest. Mit ner WinAPI oder so währe das einfacher (finde ich) ^^ |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Senior Member Registriert seit: 03.09.05 ![]() Likes: 0 | Auf alle Fälle würde ich da mit Rekursion arbeiten, und dann die Formel stückweise berechnen lassen. Ich hatte mal einen halbgaren Formel-Parser für ein CrackMe geschrieben, allerdings ohne Punkt-vor-Strich und nur Addition/Subtraktion/Multiplikation/Division/Potenzierung. Vielleicht kannst du ja den Quellcode[1] für deine Zwecke anpassen und weiterverwenden. [1] https://www.buha.info/board/showthread.php?t=52464 ganz unten findet sich auch der Quellcode. |
| | |
| | #4 (permalink) |
| Registriert seit: 28.09.07 ![]() Likes: 0 | Code: int End=0;
int Number=0;
char Operator=0;
cin>>End;
while(1)//Könnte man auch so machen, das mann was sagen muss um zu beenden
{
cin>>Operator;
cin>>Number;
switch(Operatorr)
{
case +:
End+=Number;
break;
case -:
End-=Number;
break;
// usw.
}
printf("%i\n",End);
} 1. End=3; ..... Programmcode..... 2. Operator='+'; ...Code... 3. Number=5; ...Code... 4. Operator='+'; ....Code::: 5. Number=8; Ausgabe 16;// Natürlich auch 1 mal davor ( 8 ) Ich hoffe das beantwortet deine Frage, wenn es um so was geht, ansonsten könnte man die Eingabe nur in nem Sring speichern und diesen analysieren( wie oben halt beschrieben ), aber willst du bloß nen einfachen Taschenrechner machen wirds das wohl sein..... |
| | |
| | #5 (permalink) |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Das hatten wir schon als Programmieraufgabe "Aus klein mach groß": Teil4- Zahlen anordnen da gibt es nicht nur Ansätze, sondern auch schon fertige Lösungen Ansonsten kannst Du auch nach "Postfix /Infix" suchen.http://www.cz.j.th.schule.de/html_in...ix/postfix.htm
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| math. Formeln ausrechnen in Java... | Happydead | Code Kitchen | 7 | 12.06.08 22:40 |
| Geburstdatum ausrechnen PHP | weau | (Web-) Design und webbasierte Sprachen | 9 | 09.01.08 23:08 |
| Mathematische Formel in C | Chickiwara | Code Kitchen | 5 | 25.10.07 20:46 |
| Programm für pq-Formel | <b00n> | Downloads | 11 | 22.10.07 00:16 |