Taschenrechner!!
-
Hallo @ all,
bin grad dabei einen Taschenrechner zu programmieren, mein problem ist, ich möchte in der command.exe mehrere Zahlen eingeben und dieses dann addieren,
ich möchte bitte keine Lösung haben, sondern einfach nur einen Ratschlag wie ich sowas realisieren könnte
viele dankmfg
-
Such mal nach iostream und std::cin.
-
Wenn du dein Programm von der Konsole aus startest, wäre es auch noch interessant das per Linienargumenten zu realisieren.
http://www.site.uottawa.ca/~lucia/courses/2131-05/labs/Lab3/CommandLineArguments.html
-
Tachyon schrieb:
Such mal nach iostream und std::cin.
ja Ein + Ausgabe is mir schon klar, aber ich möcht meine beliegeben Werte die ich über die Konsole eingebe abspeichern und im Code dann bsp. addieren, ich brauch einfach was wo ich beliebig viele werte speichern kann und darauf zugriff habe ums sie dann zu addieren
mfg
-
drakon schrieb:
Wenn du dein Programm von der Konsole aus startest, wäre es auch noch interessant das per Linienargumenten zu realisieren.
http://www.site.uottawa.ca/~lucia/courses/2131-05/labs/Lab3/CommandLineArguments.html
Ich glaub ich hab mich falsch ausgedrückt, mit konsole mein ich die Dos Box, kompilieren tue ich normal über meine Konsolenanwendung und danach führ ich meine programmdatei aus
-
Ganze Zeile einlesen und dann kannst du die Element in einem vector speicher und dann zusammenzählen.
-
Flanders86 schrieb:
drakon schrieb:
Wenn du dein Programm von der Konsole aus startest, wäre es auch noch interessant das per Linienargumenten zu realisieren.
http://www.site.uottawa.ca/~lucia/courses/2131-05/labs/Lab3/CommandLineArguments.html
Ich glaub ich hab mich falsch ausgedrückt, mit konsole mein ich die Dos Box, kompilieren tue ich normal über meine Konsolenanwendung und danach führ ich meine programmdatei aus
Ja, ich habe es schon richtig verstanden, aber ich habe ja gesagt, WENN du es über die Konsole starten willst, dann kannst du die Parameter gleich übergeben.
-
Die Idee mit den parametern ist sehr gut,
Ich Stelle mir das so vor:taschenrechner "operation" "Zahlen"
also umgesetzt:
rechner addition 4 3 2 3 4 5 5 6
alle hinteren zahlen müssen dann eben in einem Feld sein...
-
Also spontan fallen mir zwei mögliche Herangehensweisen ein:
1. Wenn du bei einem Term nur eine Opperationsart zulässt, würde sich die Auswertung der Eingabe stark vereinfachen, indem der Benutzer durch einen Buchstaben ((a)ddition,(s)ubtraktion,(m)ultiplikation,(d)ivision) vor dem Term die Opperationsart angibt. Dadurch kannst du dann "istream& getline (char* s, streamsize n, char delim );" benutzen und bei delim setz du dann einfach '+','-','*' oder '/' ein. Mit dieser Funktion kannst du dann alle Zahlen aus der Eingabe extrahieren und dann die gewünschte Rechenopperation durchführen.
http://www.cplusplus.com/reference/iostream/istream/getline.html2. Wenn du bei einem Term mehrere Opperanden zulässt, kannst du z.B. die Eingabe einmal komplett nach den Opperationszeichen durchsuchen und dann die gewünschte Rechenopperation mit den davor und dahinter stehenden Zahlen in geeigneter Reihenfolge durchführen.
-
ne schleife, in der er nacheinander operatoren zahlen klammeren etc. eingibt oder als komplette zeile den mathematischen ausdruck eingeben.. ne funktion schreiben welche diesen ausdruck auf gütligkeit prüft, ihn parst und berechnet.