Taschenrechner
-
Also ich schreibe einen Taschenrechner für einen Taschenrechner(bitte nicht lache es ist ernst gemeint) und zwar für den Voyage 200.
Nun mein problem:char eine[50]; clrscr(); printf("Taschenrechner"); printf("Ready\n"); scanf("%s", &eine); eine[40]=eine[0]+eine[2]; printf("\nErgebnis: %d", &eine[40]); getchar(); return 0;
Später soll man die Aufgabe einfach eingeben können und das Prog sucht die rechenzeichen.
Allerdings krieg ich im moment nichts addiert. Warum?
Ich hoffe jemand kann helfen.
-
Kann es sein, dass du sowas wie:
int a, b; scanf("%d %d", &a, &b); printf("\nErgebnis: %d", a+b);
meinst?
Denn im Moment addierst du die Hexwerte des 1. und des 3. eingegebenen zeichens.
-
Er addiert keine HexWerte sondern ASCII-Codes.
-
Lolo... schrieb:
Er addiert keine HexWerte sondern ASCII-Codes.
Er addiert die numerischen Werte der Zeichen oft auch dargestellt in Hexschreibweise...
-
Stefan311 schrieb:
Später soll man die Aufgabe einfach eingeben können und das Prog sucht die rechenzeichen.
tut mir leid, es dir sagen zu muessen, aber sowas schaffst du erst wenn du die sprache kannst. also mach dir keine hoffnungen, das in naechster zeit zu packen.
-
Ich kenn die sprache. Und was mir nicht gelingt schau ich nach. Ich schreib sogar nen kleines Ebook für anfänger(aber c++). ABer das müsste doch klappen weil ja das zeichen eine Zahl hat. Weil mit int hab ich die sorge das +-/* zeichen nicht gespeichert werden können.
-
Stefan311: wikipedia: compiler, parser, lexer, grammatik
-
Was willst du damit sagen? Das ich nichts von dieser sprache kenne?
Ich kenne sie damit habe ich was gemacht bevor ich auf C++ umgestiegen bin.
Ich hatte viele aber leider hab ich sie alle bei einem Plattencrash verloren.
Aber Ich könnte sie neu schreiben aber das bringt mir nichts eigentlich wollte
ich nur wissen wie ich sowas rechnen kann.Und zwar mit char weil es nicht in einem int zeichen gespeichert werden können.
-
Es gibt doch unter c++ bubblesort zum sortieren sowas gibt es doch bestimmt auch für C?
-
aehm, ich meinte folgendes:
du willst mathematische terme ausrechnen. du weisst aber nicht, wie du das anstellen sollst. schliesslich gibt es sowas wie rechenregeln (prioritaeten fuer operatoren...). damit du dich mal informieren kannst, hab ich dir ein paar schlagwoerter gegeben.wenn du char mit char* verwechselst, dann verstehst du c noch nicht wirklich. und was du da mit dem [40]er array anstellst ist mir schleierhaft...
-
um nochmal zum bubblesort zu kommen, der ist afaik in keiner ansi-c lib
implentiert, den musste also schon selbst programmierenlg icepacker
-
wie waers mit sort() oder qsort() (keine ahnung, welches es nun gibt).
-
Stefan311 schrieb:
Ich kenn die sprache. Und was mir nicht gelingt schau ich nach. Ich schreib sogar nen kleines Ebook für anfänger(aber c++). ABer das müsste doch klappen weil ja das zeichen eine Zahl hat. Weil mit int hab ich die sorge das +-/* zeichen nicht gespeichert werden können.
Du schreibst ein ebook, obwohl du selber keinen plan hast? omg
-
Ich will doch keine eingebene Buchstaben ausrechnen oder zusammenfassen.
Das problem mit einem int wäre doch das darin kein zeichen sein kann also +,-.*
und /. Dahe Will ich das mit einem char machen. Und um alles zu vereinfachen
mit einem array. Außerdem ist char* doch um speicher zu reservieren. Das will ich ja nicht. Und jetzt will ich erstmal nur überhaupt 1 und 1 zusammen rechnen.
Also so:
Eingabe: 11
dann soll er rechnen 1+1=2
Ergebnis:2
FertigIch hoffe du verstehst mich und falls das mit char und char* falsch ist sag es
mir ich bringe da gern was durcheinander.
-
@wtfff
JA aber über C++ nicht über C.Aber auch nur solches wie cout,int,cin,#include und weiteres. Also um schonmal zu wissen für was das und jenes ist.
-
Um mal dein Beispiel zu nehmen...
char eine[50]; int aus; printf("Taschenrechner"); printf("Ready\n"); scanf("%s", &eine); aus=(eine[0]-'0')+(eine[1]-'0'); printf("\nErgebnis: %d", aus); getchar(); return 0;
-
guck dir mal die funktion atoi() an!
zu char:
char var; //variable mit dem datentyp char char *var; //pointer auf einen char datentyp
@c.rackwitz also qsort() ist die funktion für den sortier algo quicksort
sort() ist was ganz andereslg icepacker
-
Stefan311 schrieb:
@wtfff
JA aber über C++ nicht über C.Aber auch nur solches wie cout,int,cin,#include und weiteres. Also um schonmal zu wissen für was das und jenes ist.c++ is aber nochmal wesentlich komplexer als c. naja, mir ja egal
-
[cpp] scanf("%s", **&**eine); [/cpp]
Das stimmt nicht ganz, oder?
-
jap, das "&" muss weg.
aber bei diesem frickel taschenrechner ist das dann auch egal
-
aus=(eine[0]-'0')+(eine[1]-'0');
warum hast du die eingegebenen zahlen nochmals mit 0 subtraiert?