Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

formel ausrechnen [c++]

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 ...

Antwort
Alt 07.10.07, 14:10   #1 (permalink)
 
Registriert seit: 27.03.07
<b00n> Leistung: Facit NTK
Likes: 0
Standard formel ausrechnen [c++]

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 .

<b00n> ist offline   Mit Zitat antworten
Alt 07.10.07, 14:21   #2 (permalink)
 
Benutzerbild von Extinction
 
Registriert seit: 02.01.07
Extinction Leistung: Facit NTK
Likes: 0
Standard

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) ^^
Extinction ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 07.10.07, 15:35   #3 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

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.
Lesco ist offline   Mit Zitat antworten
Alt 07.10.07, 16:01   #4 (permalink)
 
Registriert seit: 28.09.07
Kenniej91 Leistung: Facit NTK
Likes: 0
Standard

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);
}
Die Konsole macht folgendes bei der einfachen Eingabe( nein nicht 2, ENTER,+,ENTER,5 ...usw ) 3+5+8:
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.....
Kenniej91 ist offline   Mit Zitat antworten
Alt 07.10.07, 16:13   #5 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

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.
CDW ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » formel ausrechnen [c++]
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ä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


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61