资源简介
设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符及SQR和ABS函数的任意整型表达式进行求解。
要求:要检查有关运算的条件,并对错误的条件产生报警。
代码片段和文件信息
#include “stdio.h“
#include “stdlib.h“
#include “math.h“
#define Max 100
int check(char str[])
{
int i=0j=1;
char c;
c=str[i];
i++;
while(c!=‘\0‘&&j==1)
{
switch(c)
{
case ‘+‘:
case ‘-‘:
case ‘*‘:
case ‘/‘:
case ‘(‘:
case ‘)‘:
case ‘0‘:
case ‘1‘:
case ‘2‘:
case ‘3‘:
case ‘4‘:
case ‘5‘:
case ‘6‘:
case ‘7‘:
case ‘8‘:
case ‘9‘:
case ‘a‘:
case ‘s‘:
j=1;
break;
default :
j=0;
}
c=str[i];
i++;
}
i--;
if(str[i]==‘\0‘&&j==1)
return 1;
else
return 0;
}
int PP_KH(char str[])
{
struct
{
char data[Max];
int top;
}sta;
int i=0;
sta.top=-1;
while(str[i]!=‘\0‘)
{
if(str[i]==‘(‘)
{
sta.top++;
sta.data[sta.top]=str[i];
i++;
}
else if(str[i]==‘)‘)
{
sta.top--;
i++;
}
else
i++;
}
return sta.top;
}
void menu()
{
printf(“\t\t\t------------------------------------\n“);
printf(“\t\t\t|------------欢迎使用!------------|\n“);
printf(“\t\t\t|--说明:--------------------------|\n“);
printf(“\t\t\t|------1.绝对值用a()表示;---------|\n“);
printf(“\t\t\t-------2.平方根用s()表示;----------\n“);
}
int count(char exp[])
{
struct
{
int data[Max];
int top;
}op;
char c;
int i=0;
int k;
op.top=-1;
c=exp[i];
i++;
while(c!=‘\0‘)
{
switch(c)
{
case ‘+‘:
op.data[op.top-1]=op.data[op.top]+op.data[op.top-1];
op.top--;
break;
case ‘-‘:
op.data[op.top-1]=op.data[op.top-1]-op.data[op.top];
op.top--;
break;
case ‘*‘:
op.data[op.top-1]=op.data[op.top-1]*op.data[op.top];
op.top--;
break;
case ‘/‘:
if(op.data[op.top]==0)
{
printf(“\n“0”不能作除数!“);
exit(0);
}
else
{
op.data[op.top-1]=op.data[op.top-1]/op.data[op.top];
op.top--;
}
break;
case ‘a‘:
op.data[op.top]=abs(op.data[op.top]);
break;
case ‘s‘:
if(op.data[op.top]<=0)
{
printf(“根号下的数不能小于“0”;“);
exit(0);
}
else
op.data[op.top]=sqrt(op.data[op.top]);
break;
default:
k=0;
while(c>=‘0‘&&c<=‘9‘)
{
k=10*k+c-‘0‘;
c=exp[i];
i++;
- 上一篇:mfc 毕业设计管理系统
- 下一篇:北航数值分析大作业一
相关资源
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
- 尚观培训linux许巍老师关于c语言的课
评论
共有 条评论