资源简介
设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符及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语言的嵌入式汇编基本使用.docx(2页
- C语言嵌入式Modbus协议栈,支持主站和
- C语言封装的HttpClient接口
- 宠物管理系统课程设计(源码+数据库
- C语言课设计算器
- C语言 学生兴趣管理系统
- c语言实现火车订票系统(控制台)源
- 模拟笔记本电脑(C语言实现)
- c语言实现竞技比赛打分系统
- KMP算法C语言程序
- Linux c语言 学生成绩管理系统
- 弹跳的小球(test.c)
- 林锐—高质量C编程
- 基于c语言的通讯录系统
- 基于51单片机的简易计算器
- C语言全套课件与教学资料-哈工大
- 计算机二级C语言真题.docx
- C语言实现 设备信息管理系统
- GBT 28169-2011 嵌入式软件 C语言编码规范
- C语言标准库函数大全.chm
- C语言常用代码(分章节)
- c语言课程设计:客房登记系统源码
- C语言常用算法源代码
- 吕鑫:VS2015之博大精深的0基础C语言视
- c语言文都讲义2020
- c语言课件56883
- C语言推箱子win控制台
- C语言程序设计50例.docx
- 8位竞赛抢答器的课程设计报告.docx
- 烟花优化算法(c语言版)
评论
共有 条评论