|
|
@ -48,8 +48,24 @@ op readFunction(char* data, int length){ |
|
|
|
void getnumbers(char* data, int length, calc_op* structure_ref){ //input sind: string, länge vom String, berechnungsstruct |
|
|
|
char tmp[length]; |
|
|
|
int i = 0; |
|
|
|
char delimiter; |
|
|
|
switch (structure_ref->funktionstyp) { |
|
|
|
case opAdd: |
|
|
|
delimiter = '+'; |
|
|
|
break; |
|
|
|
case opSub: |
|
|
|
delimiter = '-'; |
|
|
|
break; |
|
|
|
case opDiv: |
|
|
|
delimiter = '/'; |
|
|
|
break; |
|
|
|
case opMult: |
|
|
|
delimiter = '*'; |
|
|
|
break; |
|
|
|
default: return; |
|
|
|
} |
|
|
|
memcpy(tmp, data, length); //string kopiert |
|
|
|
char *token = strtok(tmp, "+"); //An der Stelle von dem ersten Plus wird ein NULL (Stringende) gesetzt |
|
|
|
char *token = strtok(tmp, &delimiter); //An der Stelle von dem ersten Plus wird ein NULL (Stringende) gesetzt |
|
|
|
while (token != NULL) { |
|
|
|
structure_ref->array[i]=atof(token); // String zu double konvertiert |
|
|
|
i++; |
|
|
|