// ConsoleApplication4.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//
#include <iostream>
#include <string.h>
using namespace std;
bool is_nmbr(char charakter) {
if (charakter == '1' || charakter == '2' || charakter == '3' || charakter == '4' || charakter == '5' ||
charakter == '6' || charakter == '7' || charakter == '8' || charakter == '9' || charakter == '0')
{ return true; }
else { return false; }
}
bool is_math_char(char term)
{
if ((is_nmbr(term)) == true || term == '(' || term == ')' || term == '^' || term == '*' ||
term == '/' || term == '+' || term == '-' || term == '.')
{ return true; }
else
{ return false; }
}
int main()
{
// parameter
bool direction = true;
int pos = 2; // Position des "hoch" Zeichens
char *eq = "12^34";
cout << "INPUT EQ: " << eq << endl << endl;
// direction == true --> LEFT
// direction == false --> RIGHT
//char *nmbr = new char[125];
int j = 0, start;
char *nmbr = 0;
// Set start of capturing term position
switch (direction) {
case 1: {
start = pos - 1;
char *tmp = new char[pos];
nmbr = tmp;
cout << "TMP ADRESS: " << &tmp << endl;
} break; // true
case 0: {
/*start = pos + 1;
int i = 0;
for (i; is_math_char(eq[i]) == true; i++){}
char *tmp = new char[i - pos - 1];
nmbr = tmp;
cout << "TMP ADRESS: " << &tmp << endl;*/ // Nicht relevant
} break; // false
}
//Case 1 - Number
if (is_nmbr(eq[start]) == true) {
for (int i = start; is_nmbr(eq[i]) == true && i >= 0;) {
nmbr[j] = eq[i];
j++;
switch (direction) {
case 1: { i--; } break; // true
case 0: { i++; } break; // false
}
}
//if (direction == true)
//{nmbr = order(nmbr);}
cout << "NMBR LENGTH: " << strlen(nmbr)<< endl << "NMBR ADRESS: " << &nmbr << endl << "NMBR: " << nmbr << endl << endl;
}
return 0;
}