#include <stdio.h>
#include <stdlib.h>
#include "windows.h"
#include "stdbool.h"
#include "conio.h"
#include <stdlib.h>
#include "windows.h"
#include "stdbool.h"
#include "conio.h"
bool z,ez;
void cal(int esc)
{
bool i=0;
int y[10]={0};
int a,b,c,d,e;
int x,j,k;
char ch;
d=esc;
if(d=='-')printf("%c",'-');
else printf("%c",d);
j=0;
do
{
x=getche();
y[j]=x;
j++;
}
while(x>='0'&&x<='9');
j--;
if(d!='-')
{
a=d-'0';
for(k=0;k<j;k++)
{
a=a*10+y[k]-'0';
}
}
else
{
a=0;
for(k=0;k<j;k++) a=a*10+y[k]-'0';
a=0-a;
}
if(d<'0'||d>'9')x='a';
ch=x;
e=getche();
j=0;
do
{
x=getche();
y[j]=x;
j++;
}
while(x>='0'&&x<='9');
j--;
if(e>='0'&&e<='9')
{
b=e-'0';
for(k=0;k<j;k++)
{
b=b*10+y[k]-'0';
}
}
else if(e=='-')
{
b=0;
for(k=0;k<j;k++)
{
b=b*10+y[k]-'0';
}
b=0-b;
}
else ch='a';
if(x!='=') ch='a';
switch(ch)
{
case '+':c=a+b;break;
case '-':c=a-b;break;
case '*':c=a*b;break;
case '/':c=a/b;break;
default :i=1;printf("\n你输入的表达式是错误的!\n");ez=1;break;
}
if(!i) printf("%d\n",c);
}
{
bool i=0;
int y[10]={0};
int a,b,c,d,e;
int x,j,k;
char ch;
d=esc;
if(d=='-')printf("%c",'-');
else printf("%c",d);
j=0;
do
{
x=getche();
y[j]=x;
j++;
}
while(x>='0'&&x<='9');
j--;
if(d!='-')
{
a=d-'0';
for(k=0;k<j;k++)
{
a=a*10+y[k]-'0';
}
}
else
{
a=0;
for(k=0;k<j;k++) a=a*10+y[k]-'0';
a=0-a;
}
if(d<'0'||d>'9')x='a';
ch=x;
e=getche();
j=0;
do
{
x=getche();
y[j]=x;
j++;
}
while(x>='0'&&x<='9');
j--;
if(e>='0'&&e<='9')
{
b=e-'0';
for(k=0;k<j;k++)
{
b=b*10+y[k]-'0';
}
}
else if(e=='-')
{
b=0;
for(k=0;k<j;k++)
{
b=b*10+y[k]-'0';
}
b=0-b;
}
else ch='a';
if(x!='=') ch='a';
switch(ch)
{
case '+':c=a+b;break;
case '-':c=a-b;break;
case '*':c=a*b;break;
case '/':c=a/b;break;
default :i=1;printf("\n你输入的表达式是错误的!\n");ez=1;break;
}
if(!i) printf("%d\n",c);
}
int main()
{
bool ex=0;
int a,b;
while(1)
{
if(!ez)printf("\n请输入一个表达式,如1+1= 要退出计算器请输入 e\n");
else printf("请重新输入表达式,如1+1= 要退出计算器请输入 e\n");
ez=0;
a=getch();
if(a!='e') cal(a);
else
{
printf("退出计算器:y/n ?\n");
while(!ex)
{
b=getch();
if(b=='y'){z=1;break;}
if(b=='n') ex=1;
}
ex=0;
}
if(z)break;
}
printf("正在退出计算器...");
Sleep(2000);
}
{
bool ex=0;
int a,b;
while(1)
{
if(!ez)printf("\n请输入一个表达式,如1+1= 要退出计算器请输入 e\n");
else printf("请重新输入表达式,如1+1= 要退出计算器请输入 e\n");
ez=0;
a=getch();
if(a!='e') cal(a);
else
{
printf("退出计算器:y/n ?\n");
while(!ex)
{
b=getch();
if(b=='y'){z=1;break;}
if(b=='n') ex=1;
}
ex=0;
}
if(z)break;
}
printf("正在退出计算器...");
Sleep(2000);
}