Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Rechenfunktion in C

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
12.12.2003, 15:45 Uhr
lubU



gibt es eine funktion die eine eingabe automatisch als
rechnung erkennt und diese dann ausführt ?
sprich wenn jemand bspw. 2+2 eingibt.

danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
12.12.2003, 15:54 Uhr
virtual
Sexiest Bit alive
(Operator)


Nein. Das nennt man Parser. Guck mal in der Rätselecke, da findest Du ´verschiedene Ansätze.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
12.12.2003, 16:09 Uhr
lubU



hmmm,
hab in der Rätselecke nur en C++ Mathematikparser unter Linux gefunden...

müsste ich eigentlich nach der Eingabe der Rechnung
jeden einzelnen Character auslesen und dann die Rechnung zusammenstellen?
in metasprache ausgedrückt:

Wenn nach x Zahlen en + kommt und dann nochmal x Zahlen
dann zahl1 + zahl 2 ?

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
12.12.2003, 16:43 Uhr
ao

(Operator)



Zitat:
lubU postete
Wenn nach x Zahlen en + kommt und dann nochmal x Zahlen
dann zahl1 + zahl 2 ?



Im Prinzip ja.

Tatsächlich ist es komplizierter, weil die Ausdrücke geschachtelt auftreten können und dann entsprechend den Rechenregeln (Punkt vor Strich, Klammern zuerst) ausgewertet werden müssen.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
12.12.2003, 17:34 Uhr
lubU



autsch...
das wird ja ne menge arbeit.
kann mir jmd die syntax verraten wie ich jeden einzelnen char einer eingabe
auslese. damit wer mir schonmal der erste schritt gegeben.
danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
12.12.2003, 19:33 Uhr
Pablo
Supertux
(Operator)


wenn du die Zeichenkette als char* oder als char[xxx], dann als wäre es ein Array.


C++:
char* hallo = "Hallo";
//hallo[0] = 'H'
//hallo[1] = 'a'
//hallo[2] = 'l'
//hallo[3] = 'l'
//hallo[4] = 'o'
//hallo[5] = '\0'


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
14.12.2003, 21:31 Uhr
lubU



//hallo[5] = '\0' <== was macht das /0 da ???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
14.12.2003, 21:40 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


das ist ein Nullbyte. Strings in c sollten immer Nullbyte terminiert sein....
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
14.12.2003, 21:41 Uhr
Pablo
Supertux
(Operator)


In C gibt eine keine Klassen, insbesonder die Klasse string. Eine Zeichenkette ist nur ein Array von char. Ein char ist der Basis-Datentyp um Zeichen darzustellen. Eine Zeichenkette ist nur eine Hintereinanderaufführung von Zeichen. Funktionen wie printf, strlen, strcpy, strcmp, usw. (d.h alle Funktionen mit denen man Zeichenketten manipulieren kann) können nicht in hervorsagen, wie viele Zeichen eine Zeichenkette hat. Deshalb hat man sich dazu geeignigt, ein Mittel in die Zeichenkette einzubinden, damit man wissen kann, wann die Zeichenkette aufhört (nur die Zeichenkette, nicht die Länge des Arrays). Und das ist eben dieses \0 Zeichen. Das heißt null, mit dem Ascii Code 0. Da '0' die Darstellung der Zahl 0 (meistens mit ascii-code 48) ist, muss man ein '\0' benutzen, um die Darstellung von dem Zeichen mit Ascii Code 0 zu haben. Mit diesem Zeichen können all diese oben genannten Funktion wissen, wann eine Zeichenkette aufhört.

Solche Strings heißen auch Null-terminierende Strings.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
14.12.2003, 21:44 Uhr
lubU



und das Nullbyte wird automatisch ins letzte Arrayfeld nach dem string eingefügt ?
char* hallo = "Hallo"
( ==> steht dann automatisch im Arrayfeld Nr. 5 ein /0 ? )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: