Taschenrechner
-
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?
-
eine[40]=eine[0]+eine[2];
Mal ne Frage was willst du damit machen?
Also wie es mir scheint solltest du noch etwas Erfahrung sammeln bevor du dich einem so komplexen Thema zuwendest.
Im übrigen hat dir c.rackwitz einige Stichwörter genannt, die du für dein Problem brauchen wirst. Also such doch mal nach Informationen darüber?
-
Stefan311 schrieb:
warum hast du die eingegebenen zahlen nochmals mit 0 subtrahiert?
Mit dem ASCII Wert von 0. C (btw. C++ auch) kann nur mit Integern rechnen. Also wandele ich das Zeichen in einen Integer um.
-
Also ich wollte erstmal überhaupt was zum rechnen hinbekommen. Jetzt werde ich mich mit suchen beschäftigen.
Danke für die Hilfe.
-
Hallo Stefan311
Zu erst muss ich mich leider einigen hier anschliessen, du hast anscheinend tatsächlich keinen Plan von C, und von C++ höstens ein bißchen. Naja egal, C ist jedenfalls sehr einfach und man kann es schnell erlrenen.Zufällig half ich vorkurzem einem Bekannten C zu lernen (der hat so Studienfach),dabei haben wir einge kleine Programme geschrieben, unter anderem auch einen "Tachenrechner".
Schau die den Code an, vielleicht bringt dich das weiter:#include <stdio.h> int main() { enum {FALSE, TRUE}; double a,b,ergebnis; int c, done; done = FALSE; while (done == FALSE) { printf("1 : Berechnung\n" "2 : Ende(y/n)\n" "Operation :"); c = getchar(); while (getchar() != '\n'); /*bereinigung*/ if (c == '1') { printf ("Eingabe:"); scanf ("%lf %c %lf",&a,&c,&b); while (getchar()!='\n');/*bereinigung*/ if (c == '+') ergebnis = a + b; if (c == '-') ergebnis = a - b; if (c == '*') ergebnis = a * b; if (c == '/') ergebnis = a / b; printf("Ergebnis : %f\n",ergebnis); } if (c == '2') { printf("Beenden(y fuer ja sonst nein):"); c = getchar(); while (getchar() != '\n');/*bereinigung*/ if (c == 'y') done = TRUE; } } return 0; }
Wenn du Fragen hast dann poste.
-
ProgChild schrieb:
Lolo... schrieb:
Er addiert keine HexWerte sondern ASCII-Codes.
Er addiert die numerischen Werte der Zeichen oft auch dargestellt in Hexschreibweise...
Wodrin dargestellt ist völlig wurscht. Er addiert ASCII Werte. Deine Aussage war einfach falsch. Aber dann nochmal nachstümpern
-
Lolo... schrieb:
ProgChild schrieb:
Lolo... schrieb:
Er addiert keine HexWerte sondern ASCII-Codes.
Er addiert die numerischen Werte der Zeichen oft auch dargestellt in Hexschreibweise...
Wodrin dargestellt ist völlig wurscht. Er addiert ASCII Werte. Deine Aussage war einfach falsch. Aber dann nochmal nachstümpern
stimmt. das mit den hexwerten war bullshit.
-
Marcin schrieb:
Naja egal, C ist jedenfalls sehr einfach und man kann es schnell erlrenen.
warum soll C denn sehr einfach sein?
nur weil C, relativ gesehen, einen kleinen sprachumpfang hat, ist die sprache
doch nicht gleich schnell erlernbar. ich denke eher, das leute ohne programmierkenntisse
sich mit C ziemlich schwer tun, es sei denn es fällt der meister vom himmel
-
Lolo... schrieb:
ProgChild schrieb:
Lolo... schrieb:
Er addiert keine HexWerte sondern ASCII-Codes.
Er addiert die numerischen Werte der Zeichen oft auch dargestellt in Hexschreibweise...
Wodrin dargestellt ist völlig wurscht. Er addiert ASCII Werte. Deine Aussage war einfach falsch. Aber dann nochmal nachstümpern
ASCII-Codes stellen eine Zuordnung von Zahlen zu Zeichen dar. Wie kann man eine Zuordnung addieren? ASCII Werte kann man wohl gelten lassen
-
ProgChild schrieb:
Lolo... schrieb:
ProgChild schrieb:
Lolo... schrieb:
Er addiert keine HexWerte sondern ASCII-Codes.
Er addiert die numerischen Werte der Zeichen oft auch dargestellt in Hexschreibweise...
Wodrin dargestellt ist völlig wurscht. Er addiert ASCII Werte. Deine Aussage war einfach falsch. Aber dann nochmal nachstümpern
ASCII-Codes stellen eine Zuordnung von Zahlen zu Zeichen dar. Wie kann man eine Zuordnung addieren? ASCII Werte kann man wohl gelten lassen
Lass es doch einfach bleiben. Der ASCII Code ist ein bijektive Abbildung zwischen bestimmten Zeichen und numerischen Werten. Addiert werden die numerischen Werte (und keine Hexwerte oder sonst was)