Ich versuche, an einem Programm zu arbeiten, das einen mathematischen Ausdruck von Benutzereingaben nimmt (2 + 2, 3 * 1, 4-2, 2 + 3 * 1, usw.) Ich habe es mit einfach zu arbeiten , eine Operation, aber es funktioniert noch nicht mit mehreren. Ich wurde vorgeschlagen, die Zeichenfolge zu tokenisieren und zu bewerten, und während ich es geschafft habe, sie zu tokenisieren, erklärt das Handbuch, das ich lese, nicht, wie man es bewertet (ich versuche alleine zu lernen, keine Schulaufgaben für mich) und google hasn ' t war super hilfreich.Wie Token in C zu bewerten?
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char conta[255];
int n1;
int n2;
int result;
char op;
printf("Introduza uma expressao numerica: ");
gets(conta);
sscanf(conta, "%d %c %d", &n1, &op, &n2);
char* token = strtok(conta, "+-*/");
while (token) {
printf("token: %s\n", token);
token = strtok(NULL, "+-*/");
}
if(op == '+'){
printf("%d", result=n1+n2);
}else if(op == '-'){
printf("%d", result=n1-n2);
}else if(op == '*'){
printf("%d", result=n1*n2);
}else if(op == '/'){
printf("%d", result=n1/n2);
}
}
Dies ist, was ich bisher von dem Code habe. Eine Hilfe wäre sehr willkommen, danke.
Untersuchung über rekursive Abstiegsparser. –