diff --git a/src/inputHandling.c b/src/inputHandling.c index d4f4446..8479485 100644 --- a/src/inputHandling.c +++ b/src/inputHandling.c @@ -2,25 +2,22 @@ #include #include #include -#define STRINGL 200 -char a[STRINGL]; -void deleteWhitespace(); + +char data[1000]; +void deleteWhitespace(char* a, int length); op readFunction(char* data, int length); char* getnumbers(char* data, int length, calc_op* structure_ref); void printstruct(calc_op* formula); -void input() { - printf("Geben Sie eine Rechenoperation ein (Bsp.: 1+1):\n"); - fgets(a, STRINGL, stdin); //fgets statt scanf, holt den kompletten String inkl. Whitespace - deleteWhitespace(); +void input(char* a, int length) { + deleteWhitespace(a, length); calc_op temp; - char data[STRINGL]; - memcpy(data,a,STRINGL); + memcpy(data,a,length); temp.formel = a; temp.funktionstyp = readFunction(data, 10); - if (getnumbers(data,STRINGL, &temp) == NULL){ + if (getnumbers(data,length, &temp) == NULL){ printstruct(&temp); } else { printf("Formular %s not supported", temp.formel); @@ -28,10 +25,10 @@ void input() { } //Leerzeichen löschen -void deleteWhitespace(){ - for(int i=0; i +#include +#include +#define STRINGL 200 + +char a[STRINGL] = {0}; void main() { - input(); + printf("Geben Sie eine Rechenoperation ein (Bsp.: 1+1):\n"); + fgets(a, STRINGL, stdin); //fgets statt scanf, holt den kompletten String inkl. Whitespace + input(a, strlen(a)); }