问题描述及要求
对用户输入的一个包含两个十进制的操作数的加减乘除表达式求出其结果并输出,对用户的输入需要进行有效性判断
设计思想论述
该程序提示用户输入一个表达式,经过计算后输出该表达式的值。程序的执行步骤如下:
1) 提示用户输入一个表达式
2) 判断该表达式是否合法,如果不合法则返回步骤1
3) 取得表达式中的操作数和操作符,存放到数据段中
4) 取数据段中的操作数和操作符进行计算,结果存入数据段中
5) 以十进制形式输出计算的结果选择是否继续,如继续则返回步骤1
该程序不考虑表达式操作数为负数的情况,也不考虑表达式加括号的情况,仅简单的考虑两个数的加减乘除四则运算。程序有待进一步完善。
程序清单
- ;--------------------------------------------------------
- ;加减乘除四则运算
- ;--------------------------------------------------------
- ;********************************************************
- data segment
- inbuff db 15,?,15 dup(?)
- first dw ?
- second dw ?
- oper db ?
- result dw ?
- sign db ? ;结果的符号
- result_str db 5 dup(?) ;结果的字符串形式
- prompt db 'Input Expression :','$'
- errmsg db 'Input Illegal!','$'
- mess db 'Continue?(y/n):','$'
- newline db 13,10,'$'
- data ends
- ;********************************************************
- code segment
- ;--------------------------------------------------------
- main proc far &n