好难,不知道怎么写代码。

用MATALB怎么做一个加减乘除的应用程序啊,主要是代码段的编写,小白一个,求带


function ret = myeval(str)
%输入计算的字符串,返回运算符类型与运算符位置
ASCII_list= abs(str);
len_str = length(ASCII_list);
 
flag = 0;
position = 0;
for i = 1:len_str
    if ASCII_list(i) ==  43
        flag = 1;
        position = i;
    elseif ASCII_list(i) ==  45
        flag = 2;
        position = i;
    elseif ASCII_list(i) ==  42
        flag = 3;
        position = i;
    elseif ASCII_list(i) ==  47
        flag = 4;
        position = i;
    end
end
 
pos1 = 1;
number1 = [0, 0];
%检索第一个数字
for j = 1:(position-1)
    if ASCII_list(j) ~= 32
        number1(pos1) = (ASCII_list(j) - 48);
        pos1 = pos1 + 1;
    end
end
 
pos2 = 1;
number2 = [0, 0];
%检索第二个数字
for k = (position+1):len_str
    if ASCII_list(k) ~= 32
        number2(pos2) = (ASCII_list(k) - 48);
        pos2 = pos2 + 1;
    end
end
 
%计算被加数字
number_1 = 10*number1(1)+number1(2);
number_2 = 10*number2(1)+number2(2);
 
%运算
if flag == 1
    ret = number_1 + number_2;
elseif flag == 2
    ret = number_1 - number_2;
elseif flag == 3
    ret = number_1 * number_2;
elseif  flag == 4
    ret = number_1 / number_2;
end
end

如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢

你好,同学,请问是输入一段字符表达式,然后得到结果吗?

str = input('请输入表达式[输入完成后按回车]:','s');
result = eval(str);
disp(result)

加法运行例子:

请输入表达式[输入完成后按回车]5+6
    11

减法运行例子

请输入表达式[输入完成后按回车]19-10
     9

乘法运行例子

请输入表达式[输入完成后按回车]19*10
     190

除法运行例子

请输入表达式[输入完成后按回车]12/4
     3

希望能够帮到你,有用还请给个采纳支持答主哦