有一C语言难题,求大神指导
编程实现计算器程序,完成实数的加、减、乘、除运算。注意运算符优先级别。表达式要求采用中缀形式,例如:2.3+7.2*7提示:表达式处理可参考“逆波兰表达式”范例。
按 END键退出算术计算器程序
检测是否有键按下,需要调用kbhit()库函数。kbhit的原数原型: int kbhit(void);kbhit函数功能:检测是否有键按下,如果有,则返回非0值(即真),否则返回0(即假)。 调用kbhit()函数的源程序必须包含conio.h文件。
具有延时功能的函数是delay(unsigned milliseconds)。 包含在dos.h头文件中。Delay()函数的功能是:将程序挂起milliseconds毫秒,即程序暂停或延时milliseconds毫秒。
当kbhit函数返回非0时,还要检测是否是End键。这需要调用bioskey库函数。但参数必须是1,不能是0。因为bioskey(1)虽然返回用户所按键值,但没有接受键盘输入,不会影响其它函数(如scanf函数)接受有效输入。
END的键值定义为: #define END 0X4F00
bioskey(1)判断是否是END的用法:
if (bioskey(1)= =END)
{
相关操作
}