c语言实现袖珍计算器

您所在的位置:网站首页 编程实现袖珍计算器的方法是什么 c语言实现袖珍计算器

c语言实现袖珍计算器

2024-07-04 15:48:05| 来源: 网络整理| 查看: 265

大一无聊,只学了c,没学数据结构之类的东西。所以就裸写了个C语言控制台的小计算器。

1、支持加减乘除、括号输入

2、支持整数、浮点数。

2、支持空格输入

3、支持括号前省略乘号

目前错误输入还有待完善,但功能绝对没问题。

没有涉及堆栈知识(没学)。

#include"stdio.h" #include"windows.h" #include"ctype.h" #define N 200 int t2f = -1;//判断字符,用在输入 int end,testResult,doit; int leftBracket,rightBracket; double numEntered[N]; char operatorEnter[N],operatorCopy[N]; const char legalCharacter[9]={'\0','+','-','*','/','(',')','='}; const double max = 10E16; int record_bracket[N]={0,0};/**记录原始式子中,记录一对括号的位置。 *下标为右括号位置。下标对应的成员为左括号位置*/ double calculateTwoNumbers(char c,double n1,double n2) { double r=0.0; switch(c) { case'*': r=n1*n2; break; case'/': r=n1/n2; break; } return r; } /**初始化各数组、变量*/ void initialize() { int i; //默认输入的东西也包围在一个括号里 for(i=0;i 0;i--)     {         //如果numEntered[i]存有输入的数,那么operatorEnter[i]= '\0';         if((operatorEnter[i]=='\0'&&operatorEnter[i-1]==')')||             (operatorEnter[i]=='('&&operatorEnter[i-1]=='\0')||              (operatorEnter[i]=='('&&operatorEnter[i-1]==')'))         {             for(int j = end ; j >= i ; j--)             {                 operatorEnter[j+1]=operatorEnter[j];                 numEntered[j+1] = numEntered[j];                 numEntered[j] = 0;             }             operatorEnter[i] = '*';             end++;         }     } } /**处理空格,和数字与括号间无符号的更正处理情况,给它添加乘号。*/ void editFormat() { deleteSpace(); addMultiplySign(); } //打印数组 void printArrays(char operatorEnter[N],double numEntered[N]) { for(int i = 0;i =leftBracket+1;c--) { if(operatorEnter[c]=='-') { // /*测试用*/printf("减号位于ch[%d]",c); numEntered[c+1]=(-1)*numEntered[c+1]; operatorEnter[c]='\0'; } } } //括号内所有数的和 void sum() { for(int a=leftBracket;a=0;i--)// { rightBracket=end; //初始化右括号的位置在最后 if(operatorEnter[i]=='(') { leftBracket=i; operatorEnter[i]='\0';//记录后消去括号 findRightBrackets(); temp = MultiplicationAndDivision();//计算括号内的所有乘除法 if(temp


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭