Возвращает результат вычисления (int) или -10011001 в случае ошибки.
Пример (Отобразить)
CODE:
// тут код для распознавания текста
/////// для примера
int result; string Text;
Text="12 + 34"; // строка, с двумя числами и знаком операции, допустим полученная функцией 'Распознавания текста'
result=math(Text); // вызов функции, возвращает результат вычисления, тип int
messagebox(Text+" = "+format(result));
Text="38-13";
result=math(Text);
messagebox(Text+" = "+format(result));
Text="11 * 4";
result=math(Text);
messagebox(Text+" = "+format(result));
Text="60 / 12";
result=math(Text);
messagebox(Text+" = "+format(result));
////////////
// сама функция, можно сохранить в txt файл и загружать через #include
function math(string Text1)
{
int count=size(Text1);
char arr[100];
strcpy(#arr[0], Text1);
int i=0;
string num1="", num2="", znak="";
while(formatsn(arr[i]) > -1 && arr[i] != "-" && i<count)
{
num1=num1+arr[i]; i++;
}
//messagebox(num1);
while (arr[i] == formatic(32) && i<count)i++;
while(formatsn(arr[i]) < 1 && arr[i] != formatic(32) && i<count)
{
znak=znak+arr[i]; i++;
}
//messagebox(znak);
while (arr[i] == formatic(32) && i<count)i++;
while(formatsn(arr[i]) > -1 && i<count)
{
num2=num2+arr[i]; i++;
}
//messagebox(num2);
if(znak=="+")
{
if(formatsn(num1) > -1 && formatsn(num2) > -1 && num1 != "" && num2 != "")return formatsn(num1) + formatsn(num2);
}
if(znak=="-")
{
if(formatsn(num1) > -1 && formatsn(num2) > -1 && num1 != "" && num2 != "")return formatsn(num1) - formatsn(num2);
}
if(znak=="*")
{
if(formatsn(num1) > -1 && formatsn(num2) > -1 && num1 != "" && num2 != "")return formatsn(num1) * formatsn(num2);
}
if(znak=="/")
{
if(formatsn(num1) > -1 && formatsn(num2) > -1 && num1 != "" && num2 != "")return formatsn(num1) / formatsn(num2);
}
return -10011001;
}
/////// для примера
int result; string Text;
Text="12 + 34"; // строка, с двумя числами и знаком операции, допустим полученная функцией 'Распознавания текста'
result=math(Text); // вызов функции, возвращает результат вычисления, тип int
messagebox(Text+" = "+format(result));
Text="38-13";
result=math(Text);
messagebox(Text+" = "+format(result));
Text="11 * 4";
result=math(Text);
messagebox(Text+" = "+format(result));
Text="60 / 12";
result=math(Text);
messagebox(Text+" = "+format(result));
////////////
// сама функция, можно сохранить в txt файл и загружать через #include
function math(string Text1)
{
int count=size(Text1);
char arr[100];
strcpy(#arr[0], Text1);
int i=0;
string num1="", num2="", znak="";
while(formatsn(arr[i]) > -1 && arr[i] != "-" && i<count)
{
num1=num1+arr[i]; i++;
}
//messagebox(num1);
while (arr[i] == formatic(32) && i<count)i++;
while(formatsn(arr[i]) < 1 && arr[i] != formatic(32) && i<count)
{
znak=znak+arr[i]; i++;
}
//messagebox(znak);
while (arr[i] == formatic(32) && i<count)i++;
while(formatsn(arr[i]) > -1 && i<count)
{
num2=num2+arr[i]; i++;
}
//messagebox(num2);
if(znak=="+")
{
if(formatsn(num1) > -1 && formatsn(num2) > -1 && num1 != "" && num2 != "")return formatsn(num1) + formatsn(num2);
}
if(znak=="-")
{
if(formatsn(num1) > -1 && formatsn(num2) > -1 && num1 != "" && num2 != "")return formatsn(num1) - formatsn(num2);
}
if(znak=="*")
{
if(formatsn(num1) > -1 && formatsn(num2) > -1 && num1 != "" && num2 != "")return formatsn(num1) * formatsn(num2);
}
if(znak=="/")
{
if(formatsn(num1) > -1 && formatsn(num2) > -1 && num1 != "" && num2 != "")return formatsn(num1) / formatsn(num2);
}
return -10011001;
}