Tobias_P Geschrieben 17. Februar 2006 Teilen Geschrieben 17. Februar 2006 Hallo, habe folgendes prob: Ich will einen Taschenrechner basteln, der wie einer zu kaufen eine aufgabe entgegennimmt so z.B.: Bitte Aufgabe eingeben: 1+(x-423)²-xv³=b+9x ok ich weis das ist ziemlich viel arbeit aber ich will auch nicht das mir jemand den code gibt um diese aufgabe zu lösen, nein ich brauche einen lösungsvorschlag um diese Eingegebene aufgabe( in einer zeile ) in einzelne variablen zu packen... wie etwa main(){ char aufgabe[512]; gets(aufgabe); was soll ich nun machen? getch(); return 0 } wie soll ich überhaut ermitteln was das erste zeichen ist? muss ich etwa jede stelle der zeichenkette mit if abfragen ob diese stelle ine 1 oder ein x oder ein wasauchimmer ist? gibt es eine andere methode ( ausser char aufgabe[512] ) eine aufgabe dieser art einzulesen und dann auszuwerten? bitte helft mir und danke schonmal im voraus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
marcom Geschrieben 17. Februar 2006 Teilen Geschrieben 17. Februar 2006 Was soll das Programm überhaupt machen? a) Die Gleichung umformen (ála x=... bzw. b=...)? Die Gleichung bei bekannten Koeffizienten berechnen? c) Oder willst Du "nur" den Windows Taschenrechner nachproggen? Wenn Du a) oder machen willst, dann wird das sehr tricky bzw. brauchst Du spezielle mathematische Algorithmen! Polynome wären da noch relativ einfach aber für alles was darüberhinaus geht brauchst Du verschiedene numerische Verfahren (z.B. Nullstellen mit Newton). Bei c) kannst Du ja immer eine Zahl und dann den Operator einlesen und das als Baum aufbauen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tobias_P Geschrieben 17. Februar 2006 Autor Teilen Geschrieben 17. Februar 2006 also c) sollte es auf keinen fall werden, eher in der richtung a und b denn dieser taschenrechner sollte die gestellte aufgabe analysieren und dann nach allen möglichen variablen umstellen können, einzelne variablen berechnen und evtl. ungleichungen lösen können. später sollten auch lineare funktionen eingegeben werden können und dann mit hilfe von bgi im koordinatensystem ausgegeben werden. ( arbeite mit TC2.01 da ist ja noch eine bgi drin ) also alles nur auf eingabeaufforderungsstyle also keine win applikation. evtl. sollte ( später ) die grafik sprich das koord. sytem ein und usgeblendet werden können. aber dafür ist es noch zu früh. also ersteinmal muss ich diese zeichenkette anch ihren bauteilen her ( halt zahlen, varieablen, klammern und operatoren ) auflösen um so mit diesen teilen arbeiten zu können. wenn ich die daten in einer art baum eingebe kann man schnell die übersicht verlieren. kurz um etwas tricky Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 17. Februar 2006 Teilen Geschrieben 17. Februar 2006 Vielleicht hilft dir das Stichwort Parser bei deiner Suche weiter... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.